This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NRF24LE1 problems

I use two nRF24LE1s as transmiter and receiver ,Here is my question: 1、I set the transmiter side to auto reply mode using PIPE0 ,but i found the STATUS regesitor to be 0b0001 1110 when the receiver side doesn't work,this can be not correct? 2、I detect a pulse(about 100us) in the PIN ANT2 of the transmiter side ,is this correct? 3、I receive no data in the rx_buf array,where the STATUS regesitor to be 0b0000 1110 ,which means there is no interrupt of the PRX ,why is this? Cause I do configurated the transmiter and receiver as the same address, same PLOAD_WIDTH.

Here is my initialization of my RF_init function: void rf_init(void) { RFCE = 0; // RF关闭 RFCKEN = 1; // 启动RF时钟 RF = 1; // 允许RF中断 delay_n_ms(100); SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 写发射地址 WRITE_REG(0x20) + TX_ADDR(0x10) SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // 设置接收地址长度 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 启动自动应答功能Pipe0 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // PIPE0接收数据 SPI_RW_Reg(WRITE_REG + SETUP_AW,0x03); //接受发射地址长度 5字节 SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x10);//1a); // 500us,自动重传10次 SPI_RW_Reg(WRITE_REG + RF_CH, 100); // RF频率2440MHz 2400+40 +0~125 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // 发射功率0dBm, 传输速率2Mbps, 0x07~1MHz SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH); // PIPE0 接收数据包长度 }

  • Do you use the same settings on both PRX and PTX? The value of the STATUS register on the PTX and the pulse on the ANT1 pin indicate that the PTX is sending and reaching the Auto-Retransmit Count goes to maximum and that no packages are received/ACKed.

    • I would make sure that the RX address and value width is set to the same length and value as TX_ADDR is set to on the PTX.
    • I would enable dynamic payload length on bot PTX and PRX to make sure that it can handle various package lengths. Make sure that the same RF channel is set on both PTX and PRX.

    If none of the above works, please submit the entire PRX and PTX configurations here.

Related