unable to use ble_uart using nrf52810

Hi,

I'm using app_ble_uart  example using nrf52810 for nrf52810 UART RX &  TX  pins are (P0.15 - P0.14)  while configuring using i got a problem with RX transmission ,when i changed to  Rx pin as p0.15  the nrf52810 module is not working.

  • Hi,

    What does your code look like around line 429 in your main.c?

    Most importantly, which function returned this error code (NRF_ERROR_NO_MEM)?

    I assume In "uart_event_handle(app_uart_evt_t * p_event)" function this error occurs

  • Yes, that is it. You got an APP_UART_COMMUNICATION_ERROR, and the error_mask holds the value of the ERRORSRC from the UARTE peripheral. The error handler assumes standard SDK error codes to it interprets that number as NRF_ERROR_NO_MEM, but that corresponds to 4, which is then the value of ERRORSRC. Looking at the UARTE chapter in the product specification you can see that this represents the FRAMING bit. So there has been a framing error on the UART.

    A framing error is typically caused by a mismatch between the baud rates on the two devices (UART is asynchronous after all, and if the clocks are too different you will get framing errors). So you need to ensure that the frequency is right:

    1. Have you configured the same baud rate on the nRF and the other device? That is a must.
    2. Have you started the HFXO on the nRF? If not, the HFINT oscillator is used and that is often not accurate enough (particularily for longer UART transactions, or simply if you have bad luck and go ta device with a large frequency offset as there is significant chip-to-chip variation, and also temperature variation).
Related