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

Why am I getting no ACKs from an nRF24L01p in PRx mode?

Hi folks, I'm making progress with a program to get two nRF24L01p modules communicating with each other, but there are a couple of remaining problems. I hope someone can help with them, please:

  1. The PTX module seems to be transmitting my 3-byte payloads correctly, and the VDD_PA pin on that nRF24L01p pulses high (~2.0V) as expected. The PRX module even reports that it is receiving most packets from the PTX module (often 6 packets in a sequence, but then there's a 'timeout' reported). BUT the PRX module never seems to be sending back an ACK, and the PTX module consequently reports that no ACK has been received. The VDD_PA pin on the PRX chip never pulses high, either -- presumably because no ACK is being sent. Can anyone suggest what I'm doing wrong?
  2. I'm puzzled as to why the PRX module reports that 6 successive packets have been received successfully, but then reports a timeout with no packet received. Then it will report that the next 6 packets were received, before reporting another timeout + no packet received. And so on. This sounds a bit like some sort of timing problem, but I can't work out exactly what. Any suggestions? Thanks, JimR
Parents
  • Hi Jim

    The config looks mostly correct, but the address configuration is a bit nontraditional.
    When using any of the ESB features (auto ACK and so forth) it is critical that the pipe 0 address in the PTX is the same as the address you are sending to in the PRX, since the ACK is being received on pipe 0.

    In other words, with the configuration above you will not be able to transmit to pipe 0 in the PRX, since it has a different address than pipe 0 in the PTX. If you try to transmit to pipe 1 in the PRX it should work, but I don't know if that's what you are doing?

    Best regards

Reply
  • Hi Jim

    The config looks mostly correct, but the address configuration is a bit nontraditional.
    When using any of the ESB features (auto ACK and so forth) it is critical that the pipe 0 address in the PTX is the same as the address you are sending to in the PRX, since the ACK is being received on pipe 0.

    In other words, with the configuration above you will not be able to transmit to pipe 0 in the PRX, since it has a different address than pipe 0 in the PTX. If you try to transmit to pipe 1 in the PRX it should work, but I don't know if that's what you are doing?

    Best regards

Children
No Data
Related