中级会员
- 积分
- 268
- 金钱
- 268
- 注册时间
- 2013-8-27
- 在线时间
- 8 小时
|
<p>SPI_NRF_Write(SPI1,NRF_WRITE_REG+TX_ADDR,buf,5); <br />
想问下大神为何跳不出 while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET);这条语句,怎样让RXNE置1额<br />
<br />
*************************************************************************<br />
u8 SPI_NRF_Write(SPI_TypeDef* SPIx,char CMD,unsigned char* WBuff,unsigned char ByteNUM)<br />
{<br />
unsigned char i,status; <br />
SPI1_CE_LOW();<br />
SPI1_NRF_CSN_LOW();//使能片选<br />
<br />
status=SPI_RW_Byte( SPIx , CMD);<br />
for(i=0;i<ByteNUM;i++)<br />
{<br />
SPI_RW_Byte( SPIx,*WBuff++);<br />
// printf("写入第%d个数据\r\n",ByteNUM); <br />
}<br />
SPI1_NRF_CSN_HIGH();//<br />
return status;<br />
}//SPI_NRF_Write()<br />
************************************************************************************************<br />
u8 SPI_RW_Byte(SPI_TypeDef* SPIx,unsigned char Byte)<br />
{<br />
while( SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_TXE) == RESET); //查发送缓冲器是否为空,空即可以发送<br />
SPI_I2S_SendData(SPIx, Byte); //库函数:发送一个字节<br />
//当SPI接收缓冲器为空时等待<br />
<span style="color:#e53333;">while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET); </span><br />
return SPI_I2S_ReceiveData(SPIx);<br />
}//SPI_RW_Byte()<br />
</p> |
|