软件层(SW):
Group:是软件层面的 “逻辑分组”,上层 API 都是直接操作 Group,不能直接操作 Channel。
Channel:是软件层面的 “逻辑通道”,它可以和硬件通道任意映射,但每个逻辑通道只能绑定到一个物理通道。
规则:任何 Channel 都必须挂在 Group 下面,Group 不能是空的(至少要有一个 Channel)。、
硬件层(HW):
实际的 ADC 外设单元,比如图里的 ADC0、ADC1。
每个 ADC 单元有自己的物理通道(CH0、CH1、CH2 等)。

Channel 必须挂在 Group 下上层 API 只认 Group,不直接操作 Channel。比如你要启动 ADC 转换,是调用 StartGroupConversion(G1),而不是 StartChannelConversion(CH0)。
Group 里的 Channel 必须属于同一个硬件 ADC 单元比如 Group2 里的 CH0、CH1、CH2 都来自 ADC0,这是合法的;但如果 Group3 里同时有来自 ADC0 和 ADC1 的 Channel,就不允许(图里 Group3 被标红禁止)。
一个 Channel 可以属于多个 Group比如 CH0 可以同时在 Group0 和 Group1 里,但你要自己管理转换顺序,避免硬件冲突。
一个软件层面的 Channel(逻辑通道),只能绑定到一个硬件层面的 物理通道。
但一个硬件层面的 物理通道,可以被多个软件层面的 Channel(逻辑通道) 使用。
缓存区buffer读取有两种方式





以下是不同转换方式

1. 维度定义
-
Channel Type(通道类型)
- Multi-channel Group(多通道组):一次扫描会依次转换多个不同的通道(如 CH0、CH1、CH2、CH3、CH4)。
- Single Channel Group(单通道组):只对同一个通道进行多次转换(如 CH3 或 CH4)。
-
Conversion Type(转换类型)
- Continuous(连续模式):完成一轮转换后,会自动重新开始下一轮,循环往复,直到被停止。
- One-Shot(单次模式):只执行一轮转换,完成后就停止,等待下一次触发。
2. 四种模式详解
① Multi-channel Group + Continuous(多通道连续模式)
- 过程:触发后,按顺序 CH0 → CH1 → CH2 → CH3 → CH4 完成一轮转换,然后自动重新开始下一轮(CH0 → CH1 → …),持续循环。
- 通知:可以在每轮或每个通道转换完成后产生中断通知。
- 适用场景:需要周期性、不间断地监控多个模拟信号(如多路传感器数据)。
② Multi-channel Group + One-Shot(多通道单次模式)
- 过程:触发后,按顺序 CH0 → CH1 → CH2 → CH3 → CH4 完成一轮转换,然后停止,等待下一次触发。
- 通知:一轮转换完成后产生通知。
- 适用场景:由外部事件(如定时器、中断)触发,按需采集多路信号。
③ Single Channel Group + Continuous(单通道连续模式)
- 过程:触发后,只对同一个通道(如 CH3)进行连续、高速的重复转换,直到被停止。
- 通知:每次转换完成后都可以产生通知。
- 适用场景:需要对某一个信号进行高频采样(如音频、高速传感器)。
④ Single Channel Group + One-Shot(单通道单次模式)
- 过程:触发后,只对同一个通道(如 CH4)执行一次转换,然后停止,等待下一次触发。
- 通知:单次转换完成后产生通知。
- 适用场景:由事件触发,偶尔采集某个特定信号(如按键状态、温度读数)。
网硕互联帮助中心



评论前必须登录!
注册