SPI通信,利用逻辑分析仪捕捉MISO与MOSI引脚上的信号,发现收发的数据都是正确的。可是在将MISO上的数据存入变量时,变量的值确实错的,如下图:
用语句
while(SpiaRegs.SPIFFRX.bit.RXFFST==0) { }
rByte = SpiaRegs.SPIRXBUF;
存取MISO输入的值。
期望得到的值是MISO输入的最后一个值:0x22。可是怎样修改程序,可以得到0x22前面输入的所有值,如:0x00 0x01 0x02 0x03等,就是无法得到0x22。
调了一天,试过读取时加入延时等,可是还是不对。各位能否看出可能存在错误的地方么?或者SPI读取时有什么特别需要注意的地方么?
求各位大大指教一二,在此先谢过了!
|