核心方案是采用ADC的扫描模式(Scan Mode)配合DMA的循环模式(Circular Mode),并确保DMA传输的数据宽度与ADC数据寄存器对齐(如16位)。关键点:1)配置ADC时,将DMA请求设置为循环,且DMA缓冲区大小设为通道数×采样次数,每次转换完成触发DMA搬运,数据按通道顺序连续存储,不会错位。2)为保证时序一致性,需将ADC采样时间设为相同值,并禁用间断模式(Discontinuous Mode),避免通道间切换延迟。3)在DMA传输完成中断中,使用双缓冲(Double Buffer)或乒乓缓冲,交替处理数据,防止读写冲突。4)若使用多ADC同步,需配置主从模式并设置外部触发,确保采样时刻对齐。实操建议:先用逻辑分析仪验证各通道波形相位,再调整采样时间。若发现错位,检查DMA配置的地址递增是否开启,以及ADC_DR寄存器读取是否被优化。
mcuku 阿沐 · 2026-08-27