Best regards:
I have one PTX and one PRX, both nRF24L01+ with PA and LNA. PTX send 4 bytes to PRX but PRX doesn't get RX_DR, and PTX fire MAX_RT.
PRX:
CE = 0; Init_PRX_mode(); Read all registers: CONFIG[00]: 0F EN_AA[01]: 01 EN_RXADDR[02]: 01 SETUP_AW[03]: 03 SETUP_RETR[04]: FF RF_CH[05]: 4C RF_SETUP[06]: 07 STATUS[07]: 0E OBSERVE_TX[08]: 00 RPD[09]: 00 RX_ADDR_P0[0A]: E7E7E7E7E7 RX_ADDR_P1[0B]: C2C2C2C2C2 RX_ADDR_P2[0C]: C3 RX_ADDR_P3[0D]: C4 RX_ADDR_P4[0E]: C5 RX_ADDR_P5[0F]: C6 TX_ADDR[10]: E7E7E7E7E7 RX_PW_P0[11]: 04 RX_PW_P1[12]: 00 RX_PW_P2[13]: 00 RX_PW_P3[14]: 00 RX_PW_P4[15]: 00 RX_PW_P5[16]: 00 FIFO_STATUS[17]: 11 DYNPD[1C]: 01 FEATURE[1D]: 06 //code: 1. Load W_ACK_PAYLOAD with "0x12, 0x34, 0x56, 0x78" //(4 bytes) 2. CE = 1; 3. while( PIN_IRQ == 1 ); 4. <---- the program flow never goes next line
PTX:
CE = 0; Init_PTX_mode(); Read all registers: CONFIG[00]: 0E ... the rest of registers are the same as PRX ... //code: 1. Wait 5 seconds to send 2. Send W_TX_PAYLOAD with "0x1C, 0x54, 0x8A, 0xB4" //(4 bytes) 3. CE=1 ... 100uS ... CE=0 //CE Pulse 4. while( PIN_IRQ == 1 ); 5. Read FIFO_STATUS = 01 6. Read STATUS = 1E 7. Loop step 5 and 6 and always are the same return
I see PTX doesn't send the data, therefore PRX doesn't get RX_DR=1 and neither PIN_IRQ=0.
PTX never get ACK from PRX.
Any idea, please?