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
  • Hi,

    • Which SDK version are you using?
    • Exactly what function returned this error?
    • Which pins are you using for tx and rx? Are you using flow control?
    • What is received at rx when you get the error? Could you provide a trace?

  • 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?

Reply Children
Related