SPI_NRF_Write(SPI1,NRF_WRITE_REG+TX_ADDR,buf,5);
想问下大神为何跳不出 while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET);这条语句,怎样让RXNE置1额
*************************************************************************
u8 SPI_NRF_Write(SPI_TypeDef* SPIx,char CMD,unsigned char* WBuff,unsigned char ByteNUM)
{
unsigned char i,status;
SPI1_CE_LOW();
SPI1_NRF_CSN_LOW();//使能片选
status=SPI_RW_Byte( SPIx , CMD);
for(i=0;i
{
SPI_RW_Byte( SPIx,*WBuff++);
// printf("写入第%d个数据rn",ByteNUM);
}
SPI1_NRF_CSN_HIGH();//
return status;
}//SPI_NRF_Write()
************************************************************************************************
u8 SPI_RW_Byte(SPI_TypeDef* SPIx,unsigned char Byte)
{
while( SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_TXE) == RESET); //查发送缓冲器是否为空,空即可以发送
SPI_I2S_SendData(SPIx, Byte); //库函数:发送一个字节
//当SPI接收缓冲器为空时等待
while (SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_RXNE) == RESET);
return SPI_I2S_ReceiveData(SPIx);
}//SPI_RW_Byte()
更多回帖