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

Switch from RX to TX on nRF52840 without going back to DISABLED

Hello,

On the nRF52840, is it possible to switch from TXIDLE to RXIDLE or from RXIDLE to TXIDLE without going first back to DISABLED ?

We are using the radio in 1 Mbps proprietary mode, and, as Figure 110 in the product specification suggests, it should be possible to turn around the radio without going through DISABLED.

However, so far the only turn around code that works is:

    NRF_RADIO->EVENTS_DISABLED = 0;

    NRF_RADIO->TASKS_DISABLE = 1;
    while(NRF_RADIO->EVENTS_DISABLED == 0);
    NRF_RADIO->EVENTS_READY = 0;
    NRF_RADIO->TASKS_RXEN = 1;
    while (NRF_RADIO->EVENTS_READY == 0){}

If we remove the 3 first lines, then the radio goes into an unknown erroneous state. We also wish to remove the active wait and use timers or interrupts.

How can we execute the RXEN or TXEN task successfully without going first to DISABLE ?

Thanks in advance,

Damien

Development environment: Ubuntu 14.04, SEGGER Embedded Studio 4.30a, NRF52 SDK 15.0.0.

Parents Reply Children
No Data
Related