核心方案是采用双缓冲(DMA循环模式+半传输/传输完成中断)配合定时器触发ADC,确保每个采样周期数据对齐。具体做法:1) 配置ADC为定时器TRGO触发,采样率由定时器精确控制;2) 使用DMA循环模式,将数据写入两个缓冲区(如buf1/buf2),在DMA半传输中断中处理buf1,传输完成中断中处理buf2,避免读写冲突;3) 在中断中通过标志位判断当前缓冲区索引,并记录时间戳(如读取DWT计数器)保证时序一致性。注意:DMA传输宽度必须与ADC数据寄存器对齐(如16位),且关闭DMA的FIFO或设置阈值匹配,防止字节错位。若多ADC同步采样,需用ADC的注入组或同步触发模式,并检查DMA的突发传输配置。
mcuku 阿沐 · 2026-08-27