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

NRFX_ERROR_INTERNAL,when uart rx data.

Baud rate 460800, error code NRFX_ERROR_INTERNAL(1) occurred when the serial port received data。

I want to know how to avoid this problem, the current transfer rate is less than 20K bytes。

Parents Reply Children
  • SDK 15.3

    p_event->evt_type == APP_UART_COMMUNICATION_ERROR

    TX:P06 RX:P08;flow_control == APP_UART_FLOW_CONTROL_ENABLEDThe serial port receives the data and bluetooth forwards it to the connected device。

    uart init code:

    app_uart_comm_params_t const comm_params = {
    .rx_pin_no = RX_PIN_NUMBER,
    .tx_pin_no = TX_PIN_NUMBER,
    .rts_pin_no = RTS_PIN_NUMBER,
    .cts_pin_no = CTS_PIN_NUMBER,
    .flow_control = APP_UART_FLOW_CONTROL_ENABLED,
    .use_parity = 460800,
    .baud_rate = bps
    };

    APP_UART_FIFO_INIT(&comm_params,\
    UART_RX_BUF_SIZE,\
    UART_TX_BUF_SIZE,\
    uart_event_handle,\
    APP_IRQ_PRIORITY_HIGH,\
    err_code);
    APP_ERROR_CHECK(err_code);

  • Have you tried debugging the application, how does the call stack look like? Where is the error handler called?  What data do you receive, and is it similar to what is actually sent ( should be verified with a scope or Logical analyzer? Is CTS and RTS set correctly? Could you post more of your code?

  • Hi Jared

    The problem was found. The data was lost in the high speed transmission due to the low power mode. As long as the low power mode was turned off, there was no problem。

Related