核心方案:采用双缓冲(DMA半传输/传输完成中断)配合循环模式,并在每次传输完成回调中按通道索引解析数据。配置时需确保ADC扫描顺序与DMA目标数组的通道顺序严格一致,且DMA数据宽度设为半字(16位)以匹配ADC分辨率。为避免错位,建议在启动DMA前清零目标数组,并设置DMA的FIFO为禁用(直连模式),防止数据重排。采样时序一致性上,使用ADC的定时器触发(如TIM1/TRGO)而非软件触发,固定采样周期;同时将DMA的突发模式设为单次(burst=1),避免多通道间延迟累积。实操中,可在回调中校验序列号(如注入通道)或使用双缓冲交替读取,确保每次处理的是完整帧。若使用多ADC交错,需同步使能ADC的DMA请求并配置主从模式。
mcuku 阿沐 · 2026-08-27