最近在用STR712与CC2420做Zibee的开发,利用BSPI通讯,出现一点问题,想请教一下各位。 我之前用的飞利浦的SPI都有传输结束判断的标志位可读,传输结束后标志位置位,但我用STR712的BSPI函数BSPI_WordSend void BSPI_WordSend(BSPI_TypeDef *BSPIx, u16 Data) { if ((BSPIx->CSR1 & 0x0400) == 0) Data <<= 8; BSPIx->TXR = Data; } 似乎没有发现它判断传输结束与否,而我要频繁使用SPI与CC2420通讯,所以就出现了问题,有时我前一个SPI还没有传输完成,后一个SPI数据又传过来了。 或者是前一个SPI还没有传输完成,CS_n已经变高了,CC2420不能接收到CS_n变高后数据。 我想请问下,各位,这个问题怎么解决?谢谢 |