STM32自学笔记ADC多通道扫描

STM cubemx STM32F1 ADC多通道采集(非DMA)

ADC模式介绍:

扫描模式: 多通道采集必须开启,这一项CUBE已经默认设置好了。这个模式就是自动扫描你开启的所有通道进行转换,直至转换完。但是这种连续性是可以被打断的,所以就引出了间断模式。
连续模式: 在CUBE中选中ENABLE就是连续模式,DISABLE就是单次模式。这个模式顾名思义,如果是连续模式那么就是一直在扫描多通道进行采集;如果是单次模式,多通道扫描采集一次后就停止采集了不会从头再来。
间断模式: 可以将多个通道进行分组,例如你开启了IN0~4通道,那么你可以配置IN0和IN1为一组,IN2和IN3为一直进行采集。

**

轮训方式多通道采集:

**

3个通道,非DMA必须满足:扫描模式+单次转换模式+间断转换模式(每个间断组一个通道)。才能实现多次扫描。将Number Of Discontinuous Conversions为1,也就是每个通道分成了一个组。
STM32自学笔记ADC多通道扫描_第1张图片

STM32自学笔记ADC多通道扫描_第2张图片
STM32自学笔记ADC多通道扫描_第3张图片


代码实现 三个通道轮流扫描:

***STM32自学笔记ADC多通道扫描_第4张图片
调用hal库接口函数也需要注意,HAL_ADC_Start一定要放在for里面,即每一个通道都要触发。四个通道都采集完了,再去调用HAL_ADC_Stop(&hadc1);结束本次ADC采集。

你可能感兴趣的:(stm32)