工具/软件:Code Composer Studio
您好!
我正在尝试实现一个 SSI 从机、在该从机中、我读取1个字节的命令并在接收到下一条命令时返回结果。
我所面临的问题是、在第一次传输后、即使我将新数据放入 TX 缓冲区、我也会收到零。
此外、当我轮询 GetDataNonBlocking 时、即使在逻辑分析仪上看到主器件发送数据、它也会显示 RX 缓冲区为空。
为了检查操作、我在 TX 缓冲区中放置2个字节、并在其间的某个时间发送2条命令。
下面是我的配置:
我尝试使用进行读取
SPIDataGet 和非阻塞版本
while (!SSIDataGetNonBlocking (SSI0_BASE、&ret_val)){}
在第一个接收之后、标志的状态为:
从图中可以看出、传输 FIFO 中仍然有数据、但由于 SSI 卡在某种程度上、数据永远不会发送。
如果我在第一次传输后重新配置 SPI、我会在传输时看到两个值、因此我不知道问题为什么会被模块卡住。
是否有人知道模块为什么会卡住?
谢谢阅读。