void NRF24L01_TX_Mode(void)
{
NRF24L01_CE=0;
NRF24L01_Write_Buf(WRITE_REG_NRF+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);//写TX节点地址
NRF24L01_Write_Buf(WRITE_REG_NRF+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH); //设置TX节点地址,主要为了使能ACK
NRF24L01_Write_Reg(WRITE_REG_NRF+EN_AA,0x01); //使能通道0的自动应答
NRF24L01_Write_Reg(WRITE_REG_NRF+EN_RXADDR,0x01); //使能通道0的接收地址
NRF24L01_Write_Reg(WRITE_REG_NRF+SETUP_RETR,0x1a);//设置自动重发间隔时间:500us + 86us;最大自动重发次数:10次
NRF24L01_Write_Reg(WRITE_REG_NRF+RF_CH,40); //设置RF通道为40
NRF24L01_Write_Reg(WRITE_REG_NRF+RF_SETUP,0x27); // 0x27 :设置TX发射参数,0db增益,250kbps,低噪声增益开启 (0x0f: 设置TX发射参数,0db增益,2Mbps,低噪声增益开启)
NRF24L01_Write_Reg(WRITE_REG_NRF+CONFIG,0x0e); //配置基本工作模式的参数WR_UP,EN_CRC,16BIT_CRC,接收模式,开启所有中断
NRF24L01_CE=1;//CE为高,10us后启动发送
}
实测降低通讯速率可以增加通讯的稳定性。对速度不高但距离相对较高的场合这样做可以间接增加通讯距离。
其他详细的设置可以查看英文数据手册,反正中文的我没找到这个寄存器的设置。