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

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

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

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

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

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

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

相关推荐
好奇龙猫2 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys2 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1233 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒3 小时前
Docker学习
学习·docker·容器
clorisqqq5 小时前
人工智能现代方法笔记 第1章 绪论(1/2)
人工智能·笔记
charlie1145141915 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎5 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&5 小时前
嵌入式学习之路2
学习
码农小韩6 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风6 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习