嵌入式学习笔记 - 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接口独立工作。

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

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

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

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

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

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

相关推荐
Rabitebla20 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
Gary移动存储固件21 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
一个天蝎座 白勺 程序猿1 天前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习
楚山之石1 天前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
YLCHUP1 天前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
LGL6030A1 天前
Java学习历程31——初识Spring Boot
java·spring boot·学习
阿达和自己1 天前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
星恒随风2 天前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql