| 
 
 串口输出的数据一直是0XFF(波特率设置好了),确定是 NRF24L01_Read_Buf(TX_ADDR,buf,5) 函数这里有问题了,但是不知道错在了哪里。
 
 
 
 
 
 u8 NRF24L01_Check(void)
 {
 u8 buf[5]={0xA0,0xA0,0xA0,0xA0,0xA0};
 u8 i;
 SPI2_SetSpeed(SPI_BaudRatePrescaler_16); //
 NRF24L01_Write_Buf(NRF_WRITE_REG+TX_ADDR,buf,5);//
 NRF24L01_Read_Buf(TX_ADDR,buf,5); //别的函数下输出的都是A0,这个函数之后输出的是FF
  
 printf("%d%d%d%d%d\n",buf[0],buf[1],buf[2],buf[3],buf[4]);
 
 for(i=0;i<5;i++)
 {
 
 if(buf!=0xA0)break;
 }
 
 if(i!=5)return 1;//
 return 0;                 //
 }
 =====================
 NRF24L01_Read_Buf函数
 
 u8 NRF24L01_Read_Buf(u8 reg,u8 *pBuf,u8 len)
 {
 u8 status,u8_ctr;
 NRF24L01_CSN = 0;           //
 status=SPI2_ReadWriteByte(reg);//
 for(u8_ctr=0;u8_ctr<len;u8_ctr++)pBuf[u8_ctr]=SPI2_ReadWriteByte(0xFF);//
 NRF24L01_CSN=1;       //
 return status;        //
 
 }
 
 
 
 
 
 
 
 |