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

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

Hello,

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? Should I manually change state to PRIM_RX for checking moment?

Parents Reply Children
  • Håkon Alseth:

    Hi,

    Thanks a lot for your reply, but unfortunately it doesn't help me. :( My routine on PTX side looks like:

    1. Go to PTX mode.
    2. Send payload.
    3. While TX_DS ord MAX_RT doesn't fire, do nothing.
    4. If MAX_RT fire, set (clear ;)) this interrupt and send it 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.

Related