试试我这个,一端发送,一端接收
/****************************************************************************** 函数原型: 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; }