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);

Reply
  • 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);

Children
Related