前言
本文将简单介绍配置cubemx进行adc的采样,本篇只简述单通道(非dma)采集。
STM32CubeMX-ADC hal库 2 多通道采样(dma模式)
一、cubemx配置
首先打开adc通道,选择连续转化模式,连续转化模式下,adc是在一直采集的(后面讲介绍不连续下的配置和代码)。然后我们把采样时间设置的稍微高一些。生成代码即可。
二、代码
1.开启adc采集
由于选择的这个adc只开启了这一个通道所以。只需要这样写即可
HAL_ADC_Start(&hadc2);
2.读取数据
可以先设置一个变量来存储数据,由于没用用到printf输出所以我设置了一个float类型的变量,方便在调试中直接读取(因为int类型在调试的时候显示的是16位的。。。。。。。。小牛马)
然后在主循环里面读取即可
v1=HAL_ADC_GetValue(&hadc2);
可以看到这个值是在变动的,说明读取成功了哈。
三、非循环模式配置cubemx配置
在非循环模式下这里就disabled就可以了。
四、非循环模式下代码
代码也很简单,本来HAL_ADC_Start(&hadc2);
这个函数的调用是在主函数之前的,选择需要每次读取前开启这函数。
HAL_ADC_Start(&hadc2);
v2=HAL_ADC_GetValue(&hadc2);
也就是这两句话连在一起写就可以了哈。
总结
后续还会写adm模式和多通道模式。
参考文章