libuarte rx start after stop

After executing nrf_libuarte_drv_rx_stop(), nrf_libuarte_drv_rx_start() will produce an error.

In nrf_libuarte_drv_rx_start() this line in nrf_libuarte_drv.c (Line 625 in SDK 17.1.0) tries to enable the timer but fails:

nrfx_timer_enable(&p_libuarte->timer);

What would be the preferred way of starting and stopping rx, if not using nrf_libuarte_drv_rx_stop() and nrf_libuarte_drv_rx_start()? My goal is put the device to sleep when there are no more RX bytes to receive.

Parents Reply
  • Hi Gnf, 
    You are right. After compile with Debug version I can see the error. 

    I will check with the team but for me it seems to be a bug in the libuarte code. 
    I think    nrfx_timer_disable(&p_libuarte->timer); need to be added inside nrf_libuarte_drv_rx_stop(). 

    After I added that it seems to works fine. 

    I will keep you updated when I get the confirmation from the team. 

Children
Related