STM32 ADC --- 知识点总结

STM32 ADC --- 知识点总结

文章目录

cubeMX中配置注解

  • cubeMX配置时,如果配置了多个转换通道,会自动将扫描模式配置为Enabled。

单次转换模式、连续转换模式、扫描模式

单通道采样的情况

例如:我们只配置了一个采样通道CH0
在只配置一个通道的情况下,扫描模式是不起作用的,因而对于单通道采样情形,只有下面两种情况:

单次转换模式:

每启动一次转换一次通道CH0

连续转换模式:

启动ADC后,便会一直转换通道CH0,在每次转换结束后如果没有及时将数据寄存器中的值读出来,会触发溢出(OVR)错误。(触发OVR错误后可以通过清除OVR标志位,并重新启动ADC采样的方式恢复)

多通道采样的情况

例如:我们配置了采样通道CH0和CH1

在使用多通道采样的情况下一般都会使能扫描模式,下面的讨论中我们也会分析下禁止扫描模式的情况。

这里我们首先要区分清楚连续转换模式扫描模式的作用:

  • 扫描模式:将配置的序列寄存器中所有的通道依次采样一遍。
  • 连续转换模式:在所有的通道采样结束后再次重新开始采样。
禁止扫描模式(单次转换模式或连续转换模式)

:这种情况其实和上面单通道采样情况是一样的,虽然配置了多个通道,但实际转换时只会转换第一个通道。

单次转换模式+扫描模式

这种模式是将序列寄存器中配置的所有通道扫描一次

c 复制代码
  hadc1.Init.ScanConvMode = ENABLE; //扫描模式
  hadc1.Init.ContinuousConvMode = DISABLE; //单次转换模式

实例可参考:STM32 ADC --- 多通道序列采样

连续转换模式+扫描模式

这种模式是将序列寄存器中配置的所有通道扫描一次,然后再重新扫描,一直重复。

这种情况最好使用DMA,否则容易触发数据溢出错误。

实例参考:STM32 ADC --- DMA采样

相关推荐
lingzhilab7 分钟前
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
stm32·嵌入式硬件·信息可视化
lixzest6 小时前
Keil调试模式下,排查程序崩溃简述
stm32·单片机
可乐鸡翅好好吃18 小时前
通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB
c语言·stm32·单片机·嵌入式硬件·bug·keil
广药门徒21 小时前
我认为STM32输入只分为模拟输入 与 数字输入
stm32·单片机·嵌入式硬件
早睡的叶子21 小时前
proteus8安装教程
stm32·嵌入式硬件
想搞嵌入式的小白1 天前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic
代码总长两年半1 天前
STM32----IAP远程升级
stm32·单片机·嵌入式硬件
广药门徒1 天前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
君鼎2 天前
stm32——SPI协议
stm32·单片机·嵌入式硬件
tengtext2 天前
stm32使用hal库模拟spi模式3
stm32·单片机·嵌入式硬件