[AT32F413] SPI 的 CRC 值错误

[复制链接]
1761|2
 楼主| 寂静之回响 发表于 2025-2-28 20:30 | 显示全部楼层 |阅读模式
Questions:SPI 使用 CRC 时,在数据的最后半个周期写 NTC 位(Next Transmission CRC),发出的 CRC 数是错误的,举例如下:发送数据 0x55,0xAA,0x66 在收到 0x66 返回的数据后(最后一个周期的上升沿),立马写 NTC 位,则会发出错误的 CRC 值(0x2A,CRC 计算实际应该是 0xAA),如下图(红框处写 NTC 位):
4058367c1729a564cc.png
解决方式:
1. 保证 NTC 位的写入时机不在最后半个周期
2. 改用 DMA 传输方式,由硬件控制 CRC 发送
海市蜃楼神秘 发表于 2025-3-2 10:41 | 显示全部楼层
SPI发送数据没有完成标志嘛。应该在完成后再继续下一帧
海市蜃楼神秘 发表于 2025-3-2 10:43 | 显示全部楼层
再问一下,你这个图片抓波形使用的是什么示波器,是便携版的嘛,能推荐一下嘛,也想入手一个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

51

帖子

0

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