STM32系列ADC(模数转换器)支持的所有工作模式的详细分类及说明,涵盖基本转换模式、多通道管理、多ADC协同、触发方式等关键类别:
1. 基本转换模式
模式名称 | 说明 | 适用场景 |
单次转换模式 |
ADC启动后仅执行一次转换,完成后自动停止,需重新触发。 |
按键触发采样、低功耗场景 |
连续转换模式 |
ADC启动后持续循环转换,无需重复触发。 |
实时数据采集(如音频信号) |
2. 通道管理模式
模式名称 | 说明 | 适用场景 |
扫描模式(Scan Mode) |
自动按顺序转换多个预配置的通道(规则组或注入组)。 |
多传感器轮询(如温度、电压采集) |
间断模式(Discontinuous Mode) |
将一组通道分为若干子组,每次触发仅转换一个子组。例如:每触发一次转换子组中的前N个通道。 |
分批次处理多通道 |
3. 多ADC协同模式(仅支持多ADC的型号,如STM32F4/H7)
模式名称 | 说明 | 适用场景 |
独立模式(Independent) |
多个ADC独立工作,互不干扰。 |
多任务并行采集(如温度+电压+电流) |
双重交替模式(Dual Interleaved) |
两个ADC交替采样同一通道,合并数据以提高有效采样率。 |
高频信号采集(如射频信号) |
同步模式(Dual Simultaneous) |
两个ADC同时采样不同通道,数据独立存储或合并。 |
多路同步采集(如三相电流测量) |
三重模式(Triple Mode) |
三个ADC协同工作,支持交替或同步采样(仅部分型号支持)。 |
超高频或多路同步信号处理 |
4. 触发方式
模式名称 | 说明 | 触发源示例 |
软件触发 |
通过代码手动启动转换(如调用HAL_ADC_Start() )。 |
按需采样 |
硬件触发 |
通过外部信号自动触发转换。 |
定时器、外部中断、PWM信号 |
5. 规则组与注入组模式
模式名称 | 说明 | 优先级与应用 |
规则通道(Regular) |
常规转换通道组,按配置顺序转换。 |
普通数据采集任务 |
注入通道(Injected) |
高优先级通道组,可中断规则通道的转换,抢占式执行。 |
紧急事件响应(如过压保护) |
6. 数据传输模式
模式名称 | 说明 | 适用场景 |
轮询模式 |
CPU主动读取ADC数据寄存器。 |
简单应用 |
中断模式 |
转换完成后触发中断,在中断服务函数中读取数据。 |
实时性要求较高的场景 |
DMA模式 |
通过DMA自动将ADC数据搬运到内存,无需CPU干预。 |
高速或多通道大数据量采集 |
7. 特殊功能模式
模式名称 | 说明 | 适用场景 |
模拟看门狗(Analog Watchdog) |
监控ADC输入电压范围,超出阈值时触发中断。 |
过压/欠压保护、信号异常检测 |
低功耗模式 |
在单次转换后自动进入低功耗状态(如Wait 或Power-Down )。 |
电池供电设备 |
过采样模式(Oversampling) |
通过多次采样求平均提高分辨率(仅部分型号支持)。 |
高精度测量(如传感器信号去噪) |
校准模式 |
启用ADC内部校准,修正偏移误差。 |
提高ADC精度 |
8. 其他模式
模式名称 | 说明 |
单端输入模式 |
常规ADC通道输入,参考GND测量电压。 |
差分输入模式 |
使用差分信号对输入(仅部分型号支持,如STM32H7)。 |
温度传感器模式 |
启用内置温度传感器通道(需配置特定通道,如Channel 16)。 |
模式配置注意事项
- 型号差异:部分模式仅限特定系列(如F4/H7支持多ADC协同,F1仅支持独立模式)。
- 模式组合:部分模式可叠加使用(如连续转换+扫描+DMA)。
- 时钟与分辨率:高分辨率模式(如16位过采样)可能降低最大采样率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?