[STM32G0] SPI DMA接收时随机丢字节的问题很棘手

[复制链接]
63|10
童雨竹 发表于 2025-10-20 07:26 | 显示全部楼层 |阅读模式
SPI+DMA模式下做连续数据采集,偶尔会掉一个字节。看起来像DMA没及时触发,但中断统计是正常的。我甚至怀疑是缓存或者FIFO的事,搞不清到底是谁“偷”了一个字节。
Clyde011 发表于 2025-10-20 07:30 | 显示全部楼层
我也遇到过随机少1字节的情况,重启就正常,挺玄。
公羊子丹 发表于 2025-10-20 07:31 | 显示全部楼层
我遇到过,最后发现是DMA传输长度没对齐。
周半梅 发表于 2025-10-20 07:32 | 显示全部楼层
可以试下加个缓冲层,用双缓冲DMA稳定些。
帛灿灿 发表于 2025-10-20 07:33 | 显示全部楼层
你有没有开FIFO?关闭后我反而更稳定。
 楼主| 童雨竹 发表于 2025-10-20 07:34 | 显示全部楼层
SPI的时钟极性和相位设置也会影响边界触发。
万图 发表于 2025-10-20 07:35 | 显示全部楼层
我后来改成手动拉片选信号,就不丢了。
Wordsworth 发表于 2025-10-20 07:36 | 显示全部楼层
可能是发端那边没严格保持节奏。
Bblythe 发表于 2025-10-20 07:37 | 显示全部楼层
抓个逻辑分析仪波形会很有帮助。
Pulitzer 发表于 2025-10-20 07:38 | 显示全部楼层
G0系列DMA触发延迟确实偶尔怪异。
Uriah 发表于 2025-10-20 07:38 | 显示全部楼层
可以在中断里加断言检测,至少能锁定位置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

6393

帖子

2

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