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

nRF52840 proprietary Radio stops receiving after some Data ...

Hallo,

my nRF52840 and my nRF24L01 are receiving the same data in proprietary radio mode.

Several nRF51822 are sending mixed up data.

Within the nRF24L01 - radio Interrupt routine I lock the receive interrupt while reading the payload ...

The nRF52840 is receiving via the "nrf_esb_event_handler"

After some random payloads( 1 .... 100 ) the nRF52840 receiver stops receiving. - ( The nRF24L01 - NEVER stops receiving )

If I reset the radio of hte nRF52840 by software

NRF_RADIO->POWER                = (RADIO_POWER_POWER_Disabled << RADIO_POWER_POWER_Pos);
nrf_delay_ms(10);
NRF_RADIO->POWER                = (RADIO_POWER_POWER_Enabled << RADIO_POWER_POWER_Pos);

and doing the initialisation of the radio again, the receiver continuies receiving payloads.

So why stops the receiver the receiving of payloads ?

maybe there is a full buffer, or there is a receiving error ?

Which register do i have to check ? 

how to "lock" the receiving event while reading the received data

best regards Wenne

Parents
  • I use the nRF52840 dongle.

    I soldered some wires to get a uart @ 115200 working ( for debugging purposes)

    therefore I started with a example/ peripheral "uart" example and added proprietary_rf radio ...

    errorcodes ? - do you mean from the compiler ? no there are no errors ..

    I assume that I have problems if several 51822 are transmitting their payloads simultanously ...

    Because I have several of 51822 ( with same Address - their ID is located in the payload ) which are sending their payloads.

    The 24L01 has absolutely no problem with that.

    Therefore I assume that I have to disable / enable the receive Interrupt within the 52840 software - like i have done it within the 24l01.

    But how to "disable" the receive event ? or do i have to modify the RADIO_IRQHandler ...

    all payloads I receive are OK -

    unfortunately I'm not able to let only on of my 51822 send, because i lost some of my battery powered samples somewhere here and I'm not able to localize them, that I can deactivate them :-)

Reply
  • I use the nRF52840 dongle.

    I soldered some wires to get a uart @ 115200 working ( for debugging purposes)

    therefore I started with a example/ peripheral "uart" example and added proprietary_rf radio ...

    errorcodes ? - do you mean from the compiler ? no there are no errors ..

    I assume that I have problems if several 51822 are transmitting their payloads simultanously ...

    Because I have several of 51822 ( with same Address - their ID is located in the payload ) which are sending their payloads.

    The 24L01 has absolutely no problem with that.

    Therefore I assume that I have to disable / enable the receive Interrupt within the 52840 software - like i have done it within the 24l01.

    But how to "disable" the receive event ? or do i have to modify the RADIO_IRQHandler ...

    all payloads I receive are OK -

    unfortunately I'm not able to let only on of my 51822 send, because i lost some of my battery powered samples somewhere here and I'm not able to localize them, that I can deactivate them :-)

Children
No Data
Related