NRF52833 uart use 921600 baud NRF_DRV_UART_EVT_ERROR

HI 

        I use SDK 17.0.0 in NRF52833.I test uart by example project  ,the dir is \examples\peripheral\uart\pca10100\blank\arm5_no_packs .

       Modify the baud to 921600 ,and send data to 52833 by serial software. If send data less than 52 bytes,serial software can received the send data from 52833.But send data more than 52 bytes,the serial software not receive any data.By debug,the uart gererated the interrupt  NRF_DRV_UART_EVT_ERROR and enter  uart_error_handle.And  if generate the interrupt  NRF_DRV_UART_EVT_ERROR,52833 not receive all data.

        How to solve this problem?

   

Parents Reply
  • Hi 

    Thanks for the additional details. This corresponds to the overrun error, which happens when the UART receive buffers are not updated fast enough. 

    It seems very odd that this should happen after just receiving 52 bytes. 

    Have you made any changes to the peripheral example, or are you just running the example out of the box?

    As a general note there is a more flexible and powerful UART driver in the nRF5 SDK called nrf_libuarte, which you might also want to consider. There is an example showing how to use this in the peripheral folder. 

    Best regards
    Torbjørn

Children
Related