STM32F030C8T6 多通道ADC采集

2023-11-18

void adc_init(void)
{
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;

RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div4);//配置ADC的时钟频率
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
//ADC-IN:PA4~7    
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;         
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA,&GPIO_InitStructure);
//ADC1配置
ADC_DeInit(ADC1);
ADC_StructInit(&ADC_InitStructure);//结构体初始化里面包含ADC设置,例如AD位,触发模式,转换模式,对齐等
ADC_Init(ADC1, &ADC_InitStructure);
 // ADC Calibration
ADC_GetCalibrationFactor(ADC1);

// Enable the ADC1
ADC_Cmd(ADC1,ENABLE);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));
}

//得到并返回ADC_index
//ch:ADC通道
uint16_t adc_index_get(uint8_t ch)
{
uint16_t adc_index;
ADC_ClearFlag(ADC1, ADC_FLAG_EOC);

//设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
//通道选择寄存器ADC1->CHSELR赋值至关重要,少了没法实现多通道采集
if(ch==4)
{
ADC_ChannelConfig(ADC1, ADC_Channel_4 , ADC_SampleTime_239_5Cycles);
ADC1->CHSELR =ADC_Channel_4;
}
if(ch= =5)
{
ADC_ChannelConfig(ADC1, ADC_Channel_5 , ADC_SampleTime_239_5Cycles);
ADC1->CHSELR =ADC_Channel_5;
}
if(ch= =6)
{
ADC_ChannelConfig(ADC1, ADC_Channel_6 , ADC_SampleTime_239_5Cycles);
ADC1->CHSELR =ADC_Channel_6;
}
if(ch= =7)
{
ADC_ChannelConfig(ADC1, ADC_Channel_7 , ADC_SampleTime_239_5Cycles);
ADC1->CHSELR =ADC_Channel_7;
}
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY) == RESET);
ADC_StartOfConversion(ADC1);
while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)!=1){} //等待ADC转换完成
adc_index = ADC_GetConversionValue(ADC1);
ADC_StopOfConversion(ADC1);
return adc_index;
}
if条件的()里面编辑时多了一个空格,否则编辑时没法正常显示

//多次采样获得平均值
//ch:ADC通道; times:采样次数
uint16_t get_adc_average(uint8_t ch,uint8_t times)
{
uint32_t temp_val = 0;
uint8_t t;
for(t=0; t<times; t++)
{
temp_val += adc_index_get(ch);
delay_ms(5);
}
return (temp_val / times);
}

需要工程的朋友可以去下载:https://download.csdn.net/download/weixin_41623723/12660585

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F030C8T6 多通道ADC采集 的相关文章

  • C和C++结构体的区别

    C语言中的结构体只涉及到数据结构 而不涉及到算法 也就是说在C中数据结构和算法是分离的 换句话说就是C语言中的结构体只能定义成员变量 但是不能定义成员函数 然而在C 中既可以定义成员变量又可以定义成员函数 C 中的结构体和类体现了数据结构和
  • Linux系统shell脚本之检测两台服务器指定目录下的文件一致性

    Linux系统shell脚本之检测两台服务器指定目录下的文件一致性 一 脚本要求 二 脚本内容 三 测试设置 1 server1创建文件 2 server2创建文件 3 配置ssh免密 四 执行脚本 一 脚本要求 检测两台服务器指定目录下的
  • 安装 Debian10 提示缺少 bnx2/bnx2-mips-06-6.2.3.fw

    安装过程中报错 提示缺少文件 如果跳过 配置网络报错 安装好后网络是配置好的 但是插上网线状态一直是down 处理过程 下载firmware bnx2 20161130 5 deb8u1 all deb u盘拷贝到debian dpkg i
  • 【基础算法】简单了解一下常见的几种散列算法?

    简单了解一下常见的几种散列算法 如果觉得对你有帮助 能否点个赞或关个注 以示鼓励笔者呢 博客目录 先点这里 前提概念 好的哈希函数 MD5 与 SHA MD5 SHA 家族 CRC MurmurHash times31 33 times33
  • QML的基本使用:建立一个简单得窗口以及一些属性的基本使用

    QML得基本使用 建立一个简单得窗口弹出式对话框 QML的基本使用之有标题栏和无标题栏的区别 首先本人使用的Qt版本是6 3 2因为公司做项目就是用的这个版本所以如果你使用的版本不一样 请自行对代码进行转换 本人建议如果版本不一样 可以通过
  • HarmonyOS应用开发者高级认证练习题

    系列文章目录 HarmonyOS应用开发者基础认证练习题 HarmonyOS应用开发者高级认证练习题 文章目录 系列文章目录 前言 一 判断 二 单选 三 多选 前言 本文所有内容来源于个人进行HarmonyOS应用开发者系列认证的学习过程
  • 3、设置IP地址:节点名

    1 vi空格 etc hosts 点击回车 2 删除当前页面内容后编辑 192 168 空格hadoop1 192 168 空格hadoop2 192 168 空格hadoop3 3 Esc wq 保存退出 是强制退出
  • 无线组网168元的4G路由器真实价值多少?蒲公英4G路由器X4C测评

    4G路由器 看不上 觉得有网线为什么还要4G 就好比无线鼠标和有线鼠标 我肯定选有线鼠标 低延迟先不说 还不需要充电 一样的道理4G有宽带稳定 速度快吗 但是回家过了趟年就有了改观 关在家里两个月 还没有网 只能靠手机打发时间 难受香菇 还
  • serverTimezone

    今天第一次写springboot的时候遇到了这个问题 页面一直刷新不出来 显示url有问题 后来发现在url后面加上 serverTimezone GMT即可 spring datasource url jdbc mysql 127 0 0
  • pandas基本操作3

    字典转DataFrame出错 ValueError If using all scalar values you must pass an index 使用DataFrame columns 初始化并结合使用df append 字典 增加行
  • hadoop集群出现两个datanode节点互相排斥的情况解决

    我明明配置了3个节点的datanode 但是在 http mini2 50070 dfshealth html tab overview 的管理界面了只看到两天存活 Live Nodes 为 2 Dead Nodes 为 0 我想就算有一台
  • Montreal Forced Aligner (MFA)安装教程&失败原因集合

    写在前面 本文章只考虑2 x版本以后的安装时遇到的问题 推荐大家看官方的安装教程 里面设计不同系统 不同场景的安装方式 官网安装教程地址 https montreal forced aligner readthedocs io en lat
  • 出现( linker command failed with exit code 1)错误总结

    这种问题 通常出现在添加第三方库文件或者多人开发时 这种问题一般是找不到文件而导致的链接错误 我们可以从如下几个方面着手排查 1 以如下错误为例 如果是多人开发 你同步完成后发现出现如下的错误 Undefined symbols for a
  • ABAP DOI详解

    导语 DOI是SAP与Office集成的一种技术 是早期OLE的升级版本 把Excel嵌套在程序当中进行展示 需要提前上传模板 在Excel模板中 可以事先设计好公式 在SAP将数据写入Excel中之后会自动用公式进行计算 对于习惯于用Ex
  • [Android] 拍照、截图、保存并显示在ImageView控件中

    最近在做Android的项目 其中部分涉及到图像处理的内容 这里先讲述如何调用Camera应用程序进行拍照 并截图和保存显示在ImageView控件中以及遇到的困难和解决方法 PS 作者购买了本 Android第一行代码 著 郭霖 参照里面
  • python程序里一定要有一个主函数吗_Python 为什么没有 main 函数?为什么我不推荐写 main 函数?...

    在开始正题之前 先要来回答这两个问题 所谓的 main 函数 是指什么 为什么有些编程语言需要强制写一个 main 函数 某些编程语言以 main 函数作为程序的执行入口 例如 C C C Java Go 和 Rust 等 它们具有特定的含
  • JS属性defer

    JS属性defer 利用defer属性 让浏览器读js脚本的时候完全不等脚本 就开始读取图片和html代码 给外链JS脚本添加defer true
  • Android源码分析 - Framework层的ContentProvider全解析

    开篇 本篇以android 11 0 0 r25作为基础解析 在四大组件中 可能我们平时用到最少的便是ContentProvider了 ContentProvider是用来帮助应用管理其自身和其他应用所存储数据的访问 并提供与其他应用共享数
  • Rocky9.2 第一次配置virtualbox报错Kernel driver not installed (rc=-1908)

    完整报错信息如下 Kernel driver not installed rc 1908 The VirtualBox Linux kernel driver is either not loaded or not set up corre

随机推荐

  • PDF文件转化成mobi格式,亲测kindle或者iReader可用!

    convertfiles 点击连接 然后选择要转换的文件 比如我的是MySQL的 选择输入文件和输出文件的格式 转换 对了记得输入邮箱号码 转化完毕会发送连接到邮箱提供下载 或者 网络流畅的情况下转化完毕会自动重定向到下载页面
  • Vue3之路--Less教学

    概览 Less Leaner Style Sheets 的缩写 是一门向后兼容的 CSS 扩展语言 这里呈现的是 Less 的官方文档 中文版 包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS
  • 关于table的selectedRowKeys和selectedRows

    项目使用的组件库是antd 页面中有很多table 有的table有行前面的复选框 于是就有了selectedRowkeys和selectedRows的事 他们两个都是数组 selectedRowkeys存的是table的rowKey 也就
  • .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (C# DIY HttpWebClient)

    选择自 playyuer 的 Blog Net C 实现支持断点续传多线程下载的 Http Web 客户端工具类 C DIY HttpWebClient Reflector 了一下 System Net WebClient 重载或增加了若干
  • 论文阅读-NOLANet多模态伪造检测

    一 论文信息 题目 Deepfake Video Detection Based on Spatial Spectral and Temporal Inconsistencies UsingMultimodal Deep Learning
  • SQL学习笔记——limit用法(limit使用一个参数,limit使用两个参数)

    Product表 limit语法 select lt 列名 gt lt 列名 gt from lt 表名 gt limit lt 参数值 gt select from product limit 3 product id product n
  • 第三方平台代微信公众号开发

    第三方平台代微信公众号开发流程 一 准备工作 微信开放平台相关 申请微信开放平台账号后 需前往微信开放平台 创建第三方平台 填写开发相关配置 填写授权流程相关配置 注意事项 授权发起页域名 为项目开发使用域名 调用公众号二维码授权页时 必须
  • test is not a function (js正则表达式匹配问题)

    js中正则表达式匹配时 如果使用test函数 就必须不带引号 并且必须是 定义的规则变量 test 要测试的string 定义变量规则不要带引号 会错误的 如果不使用test 使用match则可以带引号 var re 1 9 d 4 10
  • Android 组件逻辑漏洞漫谈

    前言 随着社会越来越重视安全性 各种防御性编程或者漏洞缓解措施逐渐被加到了操作系统中 比如代码签名 指针签名 地址随机化 隔离堆等等 许多常见的内存破坏漏洞在这些缓解措施之下往往很难进行稳定的利用 因此 攻击者们的目光也逐渐更多地投入到逻辑
  • QT4信号连接与QT5的区别

    QT4信号连接与QT5的区别 QT4信号与槽 1 申明槽函数必须增加public slots 2 SIGNAL SLOT 将函数转为字符串 不进行错误检查 connect中信号和槽需要增加SIGNAL 和SLOT 3 槽函数和信号一致 参数
  • 常用的表格正则验证 + 省份选择 JS JQ

    常用的表格正则验证 轮子 let receiverNameReg u4e00 u9fa5 2 6 reg 收货人姓名 let receiverName receiverName val 收货人姓名 let phoneNumberReg d
  • TCP的几个状态 SYN, FIN, ACK, PSH, RST, URG

    2019独角兽企业重金招聘Python工程师标准 gt gt gt TCP的几个状态对于我们分析所起的作用 在TCP层 有个FLAGS字段 这个字段有以下几个标识 SYN FIN ACK PSH RST URG 其中 对于我们日常的分析有用
  • 数据挖掘技术-绘制散点图

    绘制散点图 前置步骤 准备数据guomin npz 下载数据guomin npz到Linux本地的 course DataAnalyze data目录 绘制散点图 绘制2000 2017年各季度的国民生产总值散点图 如代码 41所示 代码
  • 【华为OD机试真题 JAVA】执行时长

    JS版 华为OD机试真题 JS 执行时长 标题 执行时长 时间限制 1秒 内存限制 262144K 语言限制 不限 为了充分发挥GPU算力 需要尽可能多的将任务交给GPU执行 现在有一个任务数组 数组元素表示在这1秒内新增的任务个数且每秒都
  • Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

    最近在编写Python脚本过程中遇到一个问题比较奇怪 Python脚本完全正常没问题 但执行总报错 AttributeError module object has no attribute xxx 这其实是 pyc文件存在问题 问题定位
  • #C++矩阵类的实现

    C 矩阵类的实现 环境 Win10 VS2017 最近老师布置一个简单的C 作业 实现一个矩阵类 并且实现矩阵运算 主要实现运算为矩阵的加 减 乘 除以及求行列式 伴随矩阵 代数余子式和逆矩阵等 在参考网上的一些前辈的代码后 写出了这些运算
  • 信号与系统复习题

    选择题 2分 题 1 频谱与时域的关系 时域压缩 频域展宽 时域有限 频域无限 2 填空题 20分 2分 空 1 冲击信号的性质 抽样性 尺度变换性 奇偶性 2 线性时不变的概念 线性 齐次性 输入夸大多少倍 输出扩大多少倍 可加性 相应的
  • HFP协议

    通话专题HFP协议学习总结 一 配置和角色 二 HFP的连接 2 1服务级连接建立 2 1 1 服务发现和RFCOMM的连接 2 1 2 支持的特性交换 2 1 3 codec协商 2 1 4 HF指示器 2 1 5 AG指示器 2 1 6
  • ctfshow 文件上传 web151~170

    目录 web151 web 152 web 153 web 154 web 155 web 156 web 157 159 web 160 web 161 web 162 163 web 164 web 165 web 166 web 16
  • STM32F030C8T6 多通道ADC采集

    void adc init void ADC InitTypeDef ADC InitStructure GPIO InitTypeDef GPIO InitStructure RCC ADCCLKConfig RCC ADCCLK PCL