核心方案:使用ADC的注入组或规则组配合DMA的循环模式,并启用DMA的FIFO和双缓冲。规则组多通道时,DMA按通道顺序搬运,若采样时间不同或通道切换,易错位。建议:1) 将各通道采样时间设为一致,并开启ADC的扫描模式,确保转换顺序固定;2) 使用DMA双缓冲(Memory-to-Memory模式或半传输中断),在传输完成中断中切换缓冲区,避免覆盖;3) 若需精确同步,改用ADC的注入组(最多4通道),注入转换由外部触发(如定时器TRGO)同步启动,DMA仅搬运注入结果,天然对齐。实操:配置定时器输出触发ADC注入组,DMA用循环模式,缓冲区大小=通道数×2字节,在DMA传输完成回调中处理数据。注意:关闭DMA的突发模式(Burst)以避免FIFO错位,并校准ADC偏移。
mcuku 阿沐 · 2026-08-27