Clyde011 发表于 2025-6-10 07:26

G4 DMA传输后内存数据错乱

传完后数据和原来的顺序完全不一样,有时候还会缺字节。

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模式选择有问题。
页: [1]
查看完整版本: G4 DMA传输后内存数据错乱