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

NRF52 DK hangs at nrfx_uarte_tx

Hello all!

I tried to develop a small BLE application and got stuck with endless loop in nrfx_uarte_tx()  function (nrfx_uarte.c driver) which loops endlessly in these lines:

        do
        {
            endtx     = nrf_uarte_event_check(p_instance->p_reg, NRF_UARTE_EVENT_ENDTX);
            txstopped = nrf_uarte_event_check(p_instance->p_reg, NRF_UARTE_EVENT_TXSTOPPED);
        }
        while ((!endtx) && (!txstopped));

lines 314-319.

After many iterations I revealed that not only my not completed application, but almost all SDK examples do the same after ~3 mins of not connected state.

So, example application starts and you can connect (from phone) and if connected it works properly for a long time. But if you do not connect or disconnect and the board stays in not-connected state for about 3 minutes - you come to that endless loop. If not-connected state time is lesser than ~3 mins you can reconnect.

SDK version is 15.2, board is PCA10040, revision 1.2.4, 2 boards are in use.  I tried many examples (certainly not all of them) and the result is always reproduced.

If it was in my application only I could think that something is wrong, but it is reproduced in many not modified examples from SDK.

What should I do to continue my development?

Related