[STM32G4] G4 DMA传输后内存数据错乱

[复制链接]
 楼主| Clyde011 发表于 2025-6-10 07:26 | 显示全部楼层 |阅读模式
传完后数据和原来的顺序完全不一样,有时候还会缺字节。
 楼主| Clyde011 发表于 2025-6-10 07:28 | 显示全部楼层
看看是不是传输长度写错了,导致溢出。
公羊子丹 发表于 2025-6-10 07:29 | 显示全部楼层
传输大小要对齐,字节不对容易错。
周半梅 发表于 2025-6-10 07:30 | 显示全部楼层
DMA中断使能了吗?可能没等传输完。
帛灿灿 发表于 2025-6-10 07:31 | 显示全部楼层
看下是不是目标地址没清空。
童雨竹 发表于 2025-6-10 07:31 | 显示全部楼层
尝试用HAL_DMA_PollForTransfer调试一下。
万图 发表于 2025-6-10 07:32 | 显示全部楼层
DMA缓冲区最好用__ALIGN定义一下。
Wordsworth 发表于 2025-6-10 07:33 | 显示全部楼层
Cache没清干净也可能出错。
Bblythe 发表于 2025-6-10 07:34 | 显示全部楼层
确保DMA是Memory-to-Memory模式。
Pulitzer 发表于 2025-6-10 07:35 | 显示全部楼层
用逻辑分析仪观察总线变化也能发现问题。
Uriah 发表于 2025-6-10 07:35 | 显示全部楼层
STM32G4的DMA比较敏感,配置细节多。
guijial511 发表于 2025-6-10 08:50 来自手机 | 显示全部楼层
大概率是DMA的配置存在问题
elephant00 发表于 2025-6-10 15:44 | 显示全部楼层
DMA配置错误吧。。。
duo点 发表于 2025-6-10 16:45 | 显示全部楼层
硬件连接是否正常,有无干扰或噪声。
jcky001 发表于 2025-6-10 17:00 | 显示全部楼层
缓冲区溢出导致的?
cr315 发表于 2025-6-10 17:30 | 显示全部楼层
中断优先级设置过低?
cr315 发表于 2025-6-10 18:00 | 显示全部楼层
DMA传输的缓冲区地址未对齐。
flycamelaaa 发表于 2025-6-10 20:00 | 显示全部楼层
在中断处理函数中是否正确处理了DMA传输完成和错误中断。
powerantone 发表于 2025-6-10 20:00 | 显示全部楼层
时钟频率不匹配可能导致数据传输错误。
classroom 发表于 2025-6-10 21:00 | 显示全部楼层
可能DMA模式选择有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

139

主题

5508

帖子

0

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

139

主题

5508

帖子

0

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