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

相关推荐
Code_Solitude9 小时前
开发板点灯实验源码
stm32·单片机·嵌入式硬件
Zw-awa19 小时前
编码器读到的到底是什么:从脉冲到速度
stm32
笨笨饿21 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
沐欣工作室_lvyiyi1 天前
基于云平台的输液智能监测控制系统设计与实现(论文+源码)
stm32·单片机·单片机毕业设计·电子信息工程毕业设计
EatFan1 天前
当 CubeMX 遇上 AI Agent:用 MCP 让 AI 直接生成 STM32 HAL 工程
人工智能·stm32·嵌入式硬件·cubemx·stm32cubemx·hal·mcp
千秋岁rr1 天前
13.SPI
stm32
LCG元1 天前
STM32L431 QSPI驱动W25Q256实战:内存映射模式配置、4字节地址模式陷阱与读写吞吐实测
stm32·单片机·嵌入式·flash
lhbweilai1 天前
深挖FreeRTOS内核实现(上)
stm32·单片机·链表
Brilliantwxx1 天前
【STM32】 DMA 源码分析与实战(下):DMA 收发状态机与 HAL 分层
android·开发语言·stm32·单片机·嵌入式硬件·mcu
铅笔小新z1 天前
【stm32】DMA 源码分析与实战
stm32·单片机·嵌入式硬件