嵌入式学习笔记 - STM32 ADC 模块工作模式总结

ADC 模式总结:

一 单ADC模式(是指ADC1,ADC2,ADC3中只有一个ADC被使用)

①单通道:

非连续模式:非连续的意思就是单次,一次转换完成后就停止转换,除非再次被软件或者被外部触发启动;这种模式也可采集多个对象(通道),但是要在转换前用软件切换通道。

连续模式:按照设定的时间间隔(转换速率=采样时间+12.5CLK)不停地连续转换,一次转换完成自动启动下一次转换。

②多通道扫描:

非连续模式:这里非连续的意思是所有通道按照设定的序列只转换一次,就停止转换,除非再次被软件或者被外部触发启动。

连续模式:所有通道按照设定的序列转换完成后再次从序列开始转换,循环不止。

注:

关于DMA模式 :以上所有模式,不管是多通道还是单通道,不管是连续还是不连续,所有模式都可以开启使用或者关闭DMA模式,DMA跟模式不相关,而且DMA完成中断也可以设置开启或者关闭。

关于规则组跟注入组

STM32 的 ADC 支持规则组和注入组的并行工作。两者是独立的,互不干扰,但注入组的优先级高于规则组。因此,如果同时启动规则组和注入组,当注入组转换开始时,会暂停规则组的转换,直到注入组完成转换,之后规则组才会继续进行转换。

这种机制非常适合处理那些需要实时响应的、对优先级有要求的信号(如外部触发的事件),而不影响常规的采样任务。

二 多ADC 模式(是指ADC1,ADC2,ADC3中有两个ADC或者三个被同时使用或者交替使用)

在单ADC模式的基础之上共有6种可能的模式:

─ 同步注入模式

─ 同步规则模式

─ 快速交叉模式

─ 慢速交叉模式

─ 交替触发模式

此模式只适用于注入通道组。外部触发源来自ADC1的注入通道多路开关。 ● 当第一个触发产生时,ADC1上的所有注入组通道被转换。 ● 当第二个触发到达时,ADC2上的所有注入组通道被转换。

如果ADC1和ADC2上同时使用了注入间断模式: ● 当第一个触发产生时,ADC1上的第一个注入通道被转换。 ● 当第二个触发到达时,ADC2上的第一个注入通道被转换。

─ 独立模式

此模式里,双ADC同步不工作,每个ADC接口独立工作。

还有可以用下列方式组合使用上面的模式:

─ 同步注入模式 + 同步规则模式

规则组同步转换可以被中断,以启动注入组的同步转换。

─ 同步规则模式 + 交替触发模式

规则组同步转换可以被中断,以启动注入组交替触发转换。下图 显示了一个规则同步转换被交 替触发所中断。

─ 同步注入模式 + 交叉模式

相关推荐
MaCa .BaKa29 分钟前
38-日语学习小程序
java·vue.js·spring boot·学习·mysql·小程序·maven
贺函不是涵42 分钟前
【沉浸式求职学习day41】【Servlet】
java·学习·servlet·maven
田梓燊1 小时前
数学复习笔记 12
笔记·线性代数·机器学习
愚润求学1 小时前
【Linux】进程间通信(一):认识管道
linux·运维·服务器·开发语言·c++·笔记
霸王蟹1 小时前
React中useState中更新是同步的还是异步的?
前端·javascript·笔记·学习·react.js·前端框架
霸王蟹1 小时前
React Hooks 必须在组件最顶层调用的原因解析
前端·javascript·笔记·学习·react.js
珊瑚里的鱼1 小时前
【滑动窗口】LeetCode 1658题解 | 将 x 减到 0 的最小操作数
开发语言·c++·笔记·算法·leetcode·stl
请你喝好果汁6414 小时前
Jupyter Notebook 配置学习笔记
笔记·学习·jupyter
冬日枝丫4 小时前
【spring】spring学习系列之六:spring的启动流程(下)
java·学习·spring
ocean10104 小时前
项目管理学习-CSPM-4考试总结
学习·程序人生