[STM32L0] ADC转换结果偶尔跳动,怀疑DMA传输有时序问题

[复制链接]
66|10
帛灿灿 发表于 2025-11-3 07:38 | 显示全部楼层 |阅读模式
ADC采样单通道信号,DMA循环模式下偶尔会出现一个突兀的数值,像是传错数据一样。信号本身稳定,用示波器看不到抖动。感觉像DMA传输“插队”了。
Clyde011 发表于 2025-11-3 07:43 | 显示全部楼层
建议你用LL库写一版最简ADC DMA代码做对比测试。
公羊子丹 发表于 2025-11-3 07:44 | 显示全部楼层
我之前遇到过,是ADC校准没做导致首帧异常。
周半梅 发表于 2025-11-3 07:45 | 显示全部楼层
DMA和ADC的触发源是不是同一个定时器?不同步容易乱。
 楼主| 帛灿灿 发表于 2025-11-3 07:46 | 显示全部楼层
检查一下是不是用了HAL的多通道结构体写错配置。
童雨竹 发表于 2025-11-3 07:48 | 显示全部楼层
可能是内存访问冲突,试着把DMA缓冲区放到SRAM2里。
万图 发表于 2025-11-3 07:49 | 显示全部楼层
如果只偶发一次,可能是ADC采样时间太短。
Wordsworth 发表于 2025-11-3 07:49 | 显示全部楼层
可以考虑在中断里打断点,看看是不是DMA完成标志提前了。
Bblythe 发表于 2025-11-3 07:51 | 显示全部楼层
这问题我当时加了一个Dummy Read就好了。
Pulitzer 发表于 2025-11-3 07:52 | 显示全部楼层
我遇到过DMA双缓冲乱写的情况,看着也像数据跳变。
Uriah 发表于 2025-11-3 07:53 | 显示全部楼层
也可能是缓存没清,旧数据残留。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

185

主题

6445

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部