[STM32H7] SPI DMA模式下传输中断数据错位,像被提前触发

[复制链接]
66|10
Uriah 发表于 2025-11-3 07:41 | 显示全部楼层 |阅读模式
SPI主机DMA发送时,有时数据偏移一个字节。逻辑分析仪上能看到片选信号提前拉低。看上去像DMA传输启动时SPI寄存器还没准备好。
Clyde011 发表于 2025-11-3 07:43 | 显示全部楼层
逻辑分析仪真有用,这类问题肉眼看不出来。
公羊子丹 发表于 2025-11-3 07:45 | 显示全部楼层
这我踩过坑,SPI和DMA启动顺序很关键。
周半梅 发表于 2025-11-3 07:46 | 显示全部楼层
试着延迟几us再开DMA,看能否复现。
帛灿灿 发表于 2025-11-3 07:47 | 显示全部楼层
H7的SPI速度太快,偶尔会抢先触发。
童雨竹 发表于 2025-11-3 07:48 | 显示全部楼层
检查一下FIFO模式是不是开了。
万图 发表于 2025-11-3 07:49 | 显示全部楼层
我当时直接在HAL里加了一个空读修复。
Wordsworth 发表于 2025-11-3 07:50 | 显示全部楼层
有时候片选拉低过早也会导致错位。
Bblythe 发表于 2025-11-3 07:51 | 显示全部楼层
SPI的TX DMA请求配置对了吗?
Pulitzer 发表于 2025-11-3 07:52 | 显示全部楼层
建议加个软件同步触发标志。
 楼主| Uriah 发表于 2025-11-3 07:53 | 显示全部楼层
我怀疑是Cache或DTCM延迟导致的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

174

主题

6434

帖子

1

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