This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF52-DK : UART Rx over USB loses first byte after hard reset but not after power cycle

we have an app where we use a nRF52-DK board (with the 52832 chip) as a serial to BLE interface. We connect to the board using the USB UART channel. The interface IC on the board is flashed with binary j-link-ob-sam3u128-v2-nordicsemi-170724.bin

We have flow control on the interface enabled, parity off, baud rate 115200

The issue we see is that if we power cycle the DK and send a short binary packet, the complete packet is received. However if we use the RESET button on the DK, the first byte is NOT received by the nRF52832. This happens consistently and even when several seconds pass between the reset and sending the serial data.

Is this a known issue, is there some step that we need to do after a reset?

Thanks. UART INIT code follows.

void uart_init(void)
{
    ret_code_t err_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   = false,
        .baud_rate    = UART_BAUDRATE_BAUDRATE_Baud115200
    };

    APP_UART_FIFO_INIT(&comm_params,
                       UART_RX_BUF_SIZE,
                       UART_TX_BUF_SIZE,
                       uart_event_handle,
                       APP_IRQ_PRIORITY_LOW,
                       err_code);

    APP_ERROR_CHECK(err_code);
}

Parents
  • Hi

    Glad to hear you were able to resolve this Daniel!

    Can you show me a screenshot of how your "delete" button looks? Does it not look like this? I at least have an option to "Delete this reply", but that might be my settings as a mod making it look like this.

     

    Best regards,

    Simon

  • hmmm, now it seems to be working - OK, never mind.

    So I updated to the Segger Command Line tools V7.60 - the UART issue seems indeed to be fixed. However I have the impression it is less stable than previous versions. I usually have several boards connected to my system, and I program them by serial number. A few times I was no longer able to do that for the target - it seemed as if the JLink tools could no longer find it. I had to unplug all other boards and do "nrfjprog --eraseall" to get it back.

    To me it seems like the 7.68a 32 bit toolset has been the most stable and had least problems.

  • Thank you for your feedback. I can't say I've seen the same instability myself to be honest, and this sounds like more of an issue on the SEGGER side, so it's rather limited what I can do here. I guess you can contact their support here if you'd like to report this to them: https://www.segger.com/support/technical-support/ 

    Best regards,

    Simon

  • thanks. We've standardised on V6.88a which seems most stable for us. Also a 32 bit version, not sure is things started to get a bit more tricky when they went to 64 bit.

Reply Children
No Data
Related