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

[NRF51822QFAC][SDK11] How to recover Uart errors

Hi,

I'm trying to interface SIM808 with nrf51822 over uart using nrf_drv_uart. Everything works well for some time, but then uart starts reporting error code 1, NRF_UART_ERROR_PARITY_MASK, for all transactions on uart. Re-initializing the uart doesn't correct it. Also the time after which error starts appearing is also random, varies from 15 minutes to 1 hour. The problem is not with the module as when the error occurs, I can still communicate with the module using external uart to usb. Here is what I think is relevant information:

  • Baudrate is 115200
  • Tx is blocking
  • Listen to rx for 20ms
  • Max transaction size for rx is 10 bytes

I can upload the code, if necessary.

Hoping for a positive response and thanks in advance :)

Parents
  • Does the peer UART keep on transmitting irrespective of errors happening on nrf side? If not maybe we can handle the PARITY error clearing all events, disabling and enable nRF side uart. Then it will listen to the TX/RX line normally. But if peer is transmitting all time without knowing what is happening on the nRF side, then disabling/enabling will not work because nrf chip will be re-enabled and peer could be in middle of transmitting a byte and that will generate more errors.

    If you need me to help you with code snippets to disable and enable uart then tell mewhich version of SDK drivers you are using.

Reply
  • Does the peer UART keep on transmitting irrespective of errors happening on nrf side? If not maybe we can handle the PARITY error clearing all events, disabling and enable nRF side uart. Then it will listen to the TX/RX line normally. But if peer is transmitting all time without knowing what is happening on the nRF side, then disabling/enabling will not work because nrf chip will be re-enabled and peer could be in middle of transmitting a byte and that will generate more errors.

    If you need me to help you with code snippets to disable and enable uart then tell mewhich version of SDK drivers you are using.

Children
No Data
Related