SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允许接收地址只有频道 0,
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); // 自动重发 10 次,间隔 500us
//
*******************************************************************************
**************************
SPI_RW_Reg(WRITE_REG + RF_CH, 0); // 设 置 NRF24L01 工作 通 信 频 率 为
2.4GHZ,收发必须一致
SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //设置接收数据长度,
本次设置为 32 字节
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); //设置发射速率为 1MHZ,发射
功率为最大值 0dB
SPI_RW_Reg(WRITE_REG +SETUP_AW, 0x03); //设置接收/发送地址宽度
5 字节宽度
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // IRQ 收发完成中断响应,16
位 CRC,主发送 发送模式
}
void init_RX_NRF24L01(void)//NRF24L01 初始化 接受模式
{
delay_nus(100);
CE=0; // 芯片使能
CSN=1; // SPI 关闭
SCK=0; // SPI 时钟初始化为低电平
IRQ=1;
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 写本
地地址
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // 写
接收端地址
/*
//
*******************************************************************************
***************
//为了调试程序方便 关闭自动应答功能
SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); // 设置频道 0 自动 ACK 自动应答禁
止
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允许接收地址只有频道 0,
//
*******************************************************************************
*******************
*/
//为了程序的稳定性 必须要加上自动应答和 自动重发功能
//