我也在205程序里使能了自动应答:
void RX_Mode(void)
{
CE(0);
SPI_Write_Buf(WRITE_REG_NRF24L01 + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 接收设备接收通道0使用和发送设备相同的发送地址
SPI_RW_Reg(WRITE_REG_NRF24L01 + RX_PW_P0, TX_PLOAD_WIDTH); // 接收通道0选择和发送通道相同有效数据宽度
SPI_RW_Reg(WRITE_REG_NRF24L01 + EN_AA, 0x3f); // 使能接收通道0自动应答
SPI_RW_Reg(WRITE_REG_NRF24L01 + EN_RXADDR, 0x3f); // 使能接收通道0
SPI_RW_Reg(WRITE_REG_NRF24L01 + RF_CH, 40); // 选择射频通道0x40
SPI_RW_Reg(WRITE_REG_NRF24L01 + RF_SETUP, 0x07); // 数据传输率1Mbps,发射功率0dBm,低噪声放大器增益
SPI_RW_Reg(WRITE_REG_NRF24L01 + CONFIG, 0x0f); // CRC使能,16位CRC校验,上电,接收模式
CE(1);
delay1us(10);
}
void TX_Mode(u8 * tx_buf)
{
CE(0);
SPI_Write_Buf(WRITE_REG_NRF24L01 + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 写入发送地址
SPI_Write_Buf(WRITE_REG_NRF24L01 + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 为了应答接收设备,接收通道0地址和发送地址相同
SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // 装载数据
SPI_RW_Reg(WRITE_REG_NRF24L01 + EN_AA, 0x3f); // 使能接收通道0自动应答
SPI_RW_Reg(WRITE_REG_NRF24L01 + EN_RXADDR, 0x3f); // 使能接收通道0
SPI_RW_Reg(WRITE_REG_NRF24L01 + SETUP_RETR, 0x0a); // 自动重发延时等待250us+86us,自动重发10次
SPI_RW_Reg(WRITE_REG_NRF24L01 + RF_CH, 40); // 选择射频通道0x40
SPI_RW_Reg(WRITE_REG_NRF24L01 + RF_SETUP, 0x07); // 数据传输率1Mbps,发射功率0dBm,低噪声放大器增益
SPI_RW_Reg(WRITE_REG_NRF24L01 + RX_PW_P0, TX_PLOAD_WIDTH); // 接收通道0选择和发送通道相同有效数据宽度
SPI_RW_Reg(WRITE_REG_NRF24L01 + CONFIG, 0x0e); // CRC使能,16位CRC校验,上电
CE(1);
delay1us(10);
}