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

RX_DR interrupt doesn't fire when ACK payload is in FIFO part 2

Hi,

I asked the same question but it was a long time ago and still I don't know how to solve this issue. I got a reply but It wasn't help so now I'm writing again with more details.

Well, I have some problem with NRF24L01+. I'm trying to make bidirectional connection between two devices with this chip. When I'm sending payload with ACK, TX_DS interrupt on PRX fire but RX_DR on PTX doesn't. I know that i have got this data because FIFO RX isn't empty. What condition should be fulfilled to RX_DR interrupt fire on ongoing data with ACK?

My routine on PTX side looks like:

  1. Go to PTX mode.
  2. Send payload.
  3. While TX_DS or MAX_RT doesn't fire, do nothing.
  4. If MAX_RT fire, set (clear ;)) this interrupt and send packet again. Else if TX_DS fire, wait ~100ms then check RX_DR - in this moment, I know i get acknowledge packet because FIFO isn't empty and i'm printing it to console without problem. But RX_DR doesn't fire.

As I know, I don't have to enable this interrupt in CONFIG register because it just set reflect on physical pin, and I don't need this. Of course I enabled it but it doesn't help. Also I was trying to set PRX mode after sending the packet, but it doesn't help too.

My NRF is configured like this:

PRX side: STATUS: 0x0E CONFIG: 0x7F EN_AA: 0x3F EN_RXADDR: 0x03 SETUP_AW: 0x03 RF_CH: 0x6E RF_SETUP: 0x06 RX_PW_P0: 0x00 DYNPD: 0x03 FEATURE: 0x06 RX_ADDR_P0: 0xE7|0xE7|0xE7|0xE7|0xE7| TX_ADDR: 0x0F|0x0F|0x0F|0x0F|0x0F|

PTX side: STATUS: 0x0E CONFIG: 0x0E EN_AA: 0x3F EN_RXADDR: 0x03 SETUP_AW: 0x03 RF_CH: 0x6E RF_SETUP: 0x07 RX_PW_P0: 0x20 FEATURE: 0x06 DYNPD: 0x03

Related