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 again Torbjorn, Actually I probably made a mistake in providing that configuration info, so I want to make things a bit clearer. Since I'm using the same code in both the PRX and PTX modules, what I'm doing is calling the two modules Radio0 and Radio1, and then when a module is running as Radio0, I set its two pipe addresses to: RX_ADDR_P0: E7E7E7E7E7 and TX_ADDR: C2C2C2C2C2. then when the module is to run as Radio1, I set its two pipe addresses to: RX_ADDR_P1: C2C2C2C2C2 and TX_ADDR: E7E7E7E7E7. I'm so confused now that I can't decide if these are right or wrong. Can you please put me straight? Thanks Torbjorn, JimR

Reply
  • Hi again Torbjorn, Actually I probably made a mistake in providing that configuration info, so I want to make things a bit clearer. Since I'm using the same code in both the PRX and PTX modules, what I'm doing is calling the two modules Radio0 and Radio1, and then when a module is running as Radio0, I set its two pipe addresses to: RX_ADDR_P0: E7E7E7E7E7 and TX_ADDR: C2C2C2C2C2. then when the module is to run as Radio1, I set its two pipe addresses to: RX_ADDR_P1: C2C2C2C2C2 and TX_ADDR: E7E7E7E7E7. I'm so confused now that I can't decide if these are right or wrong. Can you please put me straight? Thanks Torbjorn, JimR

Children
No Data
Related