cc2530 终端上面外接了一块SPI Flash. 在裸机(不跑协议栈的时候)上面测试Flash的时候,一切读写正常; 如果终端没有加入协调器的时候,测试SPI Flash的读写也是一切正常;
当终端加入协调器后,从0地址读取Flash的时候,读出来的数据就错位了(比如,第一个字节的数据变成了第二个字节的数据,第二个字节的数据变成了第三个字节的数据)。这时当协调器断电以后(终端断开连接),读出来的数据依旧错位。
xin dong:
回复 ping zhang4:
您好:
我也遇到了类似的读取数据错误问题;
这里提到的寄存器ACTIVE位Datasheet的解释是:USART transmit/receive active status. In SPI slave mode, this bit equals slave select.
这里使用master mode ,还是应该判断TX_BYTE,也就是while( 0 == ( U1CSR & ( 1 << 1 ) ) );
TI中文支持网