试试我这个,一端发送,一端接收
/******************************************************************************
函数原型: void NRF24L01_Init(uint8_t Chanal,uint8_t Mode)
功 能: NRF24L01初始化
参 数: Chanal,RF通道
*******************************************************************************/
void NRF24L01_Init(uint8_t Chanal,uint8_t Mode)
{
NRF_CE_L;
NRF_Write_Reg(FLUSH_TX,0xff);//清空发送缓冲区
NRF_Write_Reg(FLUSH_RX,0xff);//清空接收缓冲区
NRF_Write_Buf(NRF_WRITE_REG + TX_ADDR, TX_ADDRESS,5); //写TX节点地址
NRF_Write_Buf(NRF_WRITE_REG + RX_ADDR_P0,RX_ADDRESS,5); //写RX节点地址
NRF_Write_Reg(NRF_WRITE_REG + EN_AA, 0x01); //使能通道0的自动应答
NRF_Write_Reg(NRF_WRITE_REG + EN_RXADDR, 0x01); //使能通道0的接收地址
NRF_Write_Reg(NRF_WRITE_REG + SETUP_RETR,0x1a); //设置自动重发间隔时间:500us;最大自动重发次数:10次
NRF_Write_Reg(NRF_WRITE_REG + RF_CH, Chanal); //设置RF通道为CHANAL
NRF_Write_Reg(NRF_WRITE_REG + RX_PW_P0, 32); //设置通道0的有效数据宽度
NRF_Write_Reg(NRF_WRITE_REG + RF_SETUP, 0x0f); //设置TX发射参数,0db增益,2Mbps,低噪声增益开启
if(Mode==TX)
NRF_Write_Reg(NRF_WRITE_REG + CONFIG,0x0E);//发送
else if(Mode==RX)
NRF_Write_Reg(NRF_WRITE_REG + CONFIG,0x0F);//接收
NRF_CE_H;
}