本帖最后由 springvirus 于 2015-8-12 11:11 编辑
偶的接收成功,但是buffer里没有数据,什么情况,发送端在发送0x55 0x66 0x77
//接收函数
uint8_t NRF24L01_RxPacket(uint8_t *rxbuf)
{
uint8_t sta;
//SPI2_SetSpeed(SPI_SPEED_4); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)
sta=NRF24L01_Read_Reg(NRFRegSTATUS); //读取状态寄存器的值
NRF24L01_Write_Reg(NRF_WRITE_REG+NRFRegSTATUS,sta); //清除TX_DS或MAX_RT中断标志
if(sta&RX_OK)//接收到数据
{
NRF24L01_Write_Buf(RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);//读取数据
NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除RX FIFO寄存器
return 0;
}
return 1;//没收到任何数据
}
仔细检查了下,读取数据,应该是 NRF24L01_Read_Buf(),晕,接收正常~ |