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

nrf24L01+ not all packages sent or received?

Hi,

Im trying to send 20 packages of 30bytes each as fast as possible, so I created the following loop:

for( pack=0; pack<20; pack++) { w_tx_payload_noack(30, MegaBuffer[pointerOUT]); msprf24_activate_tx(); //__delay_cycles(5000); }

On the receiving side I get only 6 packets. If I decrease number to 10 packets then I receive only 3.

Im sure there should be a logical explanation. I tried to add a delay into the loop it didnt help. Here are the functions used:

void msprf24_activate_tx() { char c; msprf24_standby(); // Cancel any outstanding TX interrupt w_reg(RF24_STATUS, RF24_TX_DS|RF24_MAX_RT); c = r_reg(RF24_STATUS); // Pulse CE for 10us to activate PTX pulse_ce(); }

void pulse_ce() { CE_HIGH(); __delay_cycles(CE_HIGH_TIME); CE_LOW(); }

Any idea on where Im misusing the device?

Thanks, Sergey

Related