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采样

相关推荐
枯无穷肉7 小时前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
不过四级不改名6777 小时前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件
嵌入式科普8 小时前
十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
c语言·stm32·cubeide·e2studio·ra6m5·dma接收不定长
云山工作室8 小时前
基于单片机的视力保护及身姿矫正器设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
艺术家天选11 小时前
STM32点亮LED灯
stm32·单片机·嵌入式硬件
向阳逐梦11 小时前
基于STM32F4单片机实现ROS机器人主板
stm32·单片机·机器人
小猪写代码12 小时前
STM32 水质水位检测项目 (调试模块)和(延时模块)
stm32·单片机·嵌入式硬件
御风_2112 小时前
STM32单片机使用CAN协议进行通信
stm32·单片机·嵌入式硬件
逝灮13 小时前
【蓝桥杯——物联网设计与开发】拓展模块3 - 温度传感器模块
驱动开发·stm32·单片机·嵌入式硬件·物联网·蓝桥杯·温度传感器
Wallace Zhang14 小时前
STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)
ide·vscode·stm32