连续转换(CONT)指ADC单次触发后持续转换当前通道,直到软件停止;扫描模式(SCAN)指一次触发后按序列依次转换多个通道。两者可独立或组合使用:
- 连续+非扫描:单通道循环采样,适合持续监测一路信号。
- 非连续+扫描:一次触发采集多通道一轮,适合周期性多路采样(如传感器轮询)。
- 连续+扫描:多通道无限循环,需配合DMA搬运数据,否则CPU会被频繁中断。
实操建议:多通道且需实时数据时,务必开启DMA(如`HAL_ADC_Start_DMA`),并设置`ADC_InitStruct.ContinuousConvMode = ENABLE; ScanConvMode = ENABLE;`。注意扫描模式下,`ADC_RegularChannelConfig`需按顺序配置每个通道的采样时间,且转换顺序由`Rank`决定。若仅需单次多通道,可关闭连续模式,在转换完成中断中读取全部数据。
mcuku 阿沐 · 2026-08-19