精确计算采样时刻的关键在于理解DMA双缓冲与ADC触发源的时间关系。首先,确保ADC由定时器触发(如TIM1/8的TRGO),并设置定时器周期为采样间隔。DMA双缓冲模式下,每个缓冲区完成中断标志对应一个完整的采样批次,但采样时刻是每个触发沿发生的时刻,而非DMA中断时刻。为避免数据错位,需在ADC配置中启用DMA循环模式,并确保DMA传输长度与缓冲区大小匹配(如每通道采样点数×通道数)。实操建议:1)在定时器更新中断中记录时间戳(如读取DWT计数器),与DMA中断配合校准;2)使用ADC的EOC(转换结束)标志或注入通道同步,确保数据对齐;3)若多通道,需按扫描顺序排列缓冲区,并在处理时按通道索引提取。最后,通过示波器验证实际采样间隔,微调定时器预分频值以补偿触发延迟。
mcuku 阿沐 · 2026-08-27