# a question about the communication between nRF24LE1 and nrf51802

hi,

I have a question about the communication between nRF24LE1 and nrf51802.They communicate using the Gazell protocol,Can you help me solve this problem？

1.The communication rate is 250K,NRF24LE1 sends a packet of data every 50ms, and nrf51802 has no problem receiving ,but when the time is 150ms - 700ms ,the success rate of nrf51802 is only 50%.Then when the time is 700ms - 1000ms,nrf51802 has no problem receiving .

2.NRF24LE1 sends a packet of data every 300ms, and nrf51802 replies to one packet every 50ms, a total of four packets.In this case, there is no problem with sending and receiving, and there is basically no packet loss.The communication rate is 250K.

3.The communication rate is 2M.When the transmission packet interval of nRF24LE1 is less than 150ms, the reception success rate of nrf51802 is less than 30%. When the packet interval is greater than 150ms, the reception success rate of nrf51802 is greater than 80%.

4.There is no problem with the communication between nrf51802 and nrf51802.

• Nrf51802 is now 600 at 2m, but the parameters around 600 are not good

• You need to find which rx period values have been used for nRF24LE1 for the different baud rates, and use half values for the nRF51802.

Kenneth

• Hi,

Yes, it's done at present. Although it's not perfect, it's OK. Thank you very much for your help, thank you!

• hi,

I have a question about baud rate switching when nrf51802 uses Gazell protocol. Would you like to ask me.

The slave works in the host receiving mode, switches the baud rate every 10ms, switches between 250K and 2m, and executes in the main loop. After communicating with a certain rate, the slave will be fixed at the current rate and will not switch. There is a probability that the master cannot communicate with the slave with 250K, but the 2m communication can be connected. If the host uses 2m for direct communication during slave switching, there is no problem. The switching setting is made in the disabled callback. I don't know whether it conflicts with the disabled callback at the moment of receiving data.

• Maybe you can try to power cycle the radio, this should at least reset all RADIO register values and states:

*(volatile uint32_t *)0x40001FFC = 0;
*(volatile uint32_t *)0x40001FFC;
*(volatile uint32_t *)0x40001FFC = 1;

Related