This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF24L01+ raises IRQ on PRX side only once

Hello,

I am frustrated by a pair of nRF24L01+ communicating with each other, where all the Enhanced ShockBurst features are enabled.

The PRX is initialised as follows:

****** nRF24L01+ register set ******
Register 0x00	=	0x0F
Register 0x01	=	0x3F
Register 0x02	=	0x3F
Register 0x03	=	0x01
Register 0x04	=	0x1F
Register 0x05	=	0x00
Register 0x06	=	0x26
Register 0x07	=	0x0E
Register 0x08	=	0x00
Register 0x09	=	0x00
Register 0x0A	=	0x01,	0x01,	0x42,	0xE7,	0xE7
Register 0x0B	=	0x02,	0x01,	0x42,	0xC2,	0xC2
Register 0x0C	=	0x03
Register 0x0D	=	0x04
Register 0x0E	=	0x05
Register 0x0F	=	0x06
Register 0x10	=	0x00,	0x01,	0x42,	0xE7,	0xE7
Register 0x11	=	0x00
Register 0x12	=	0x00
Register 0x13	=	0x00
Register 0x14	=	0x00
Register 0x15	=	0x00
Register 0x16	=	0x00
Register 0x17	=	0x11
Register 0x1C	=	0x3F
Register 0x1D	=	0x07

After the first message has been sent by the TRX, the PRX raises a RX_DS_READY-IRQ, its registers change to

****** nRF24L01+ register set ******
Register 0x07	=	0x40						// RX_DR interrupt, pipe number 0
Register 0x17	=	0x10						// RX FIFO not empty

The RX code then serves the hardware IRQ and (as a test) just resets the IRQ-condition and flushes the FIFO. After doing so the registers values are the same as after initialisation. The TRX signals a successful transmission, so it must have received the acknowledement by the PRX.

So long all is fine. But when the TRX sends the second message (same contents as the first one), no hardware IRQ, and no register changes happen on the PRX side. Nevertheless, the TRX signals a succuessful transmission :-O

The only way to get another message to be signalled by an IRQ seems to be to cut the voltage supply for the PRX and power it up again. Even a power-down per software does not suffice. After powering up the PRX again the same starts from the beginning: ONE message ...

Btw., I think there is no bug on the TRX side: when I power down the PRX the TRX signals an error when sending a message.

Do you have a clue what happens?

Best regards, Ralph

Parents Reply Children
Related