Can not using debug (NRF_LOG_INFO) when using reading large data via UARTE

Hi,
I'm developing an application using UARTE to reading response from Module Sim. The content response from Module Sim has 495 characters.
When I debug, I only read some information I logged before and after that Segger will be crashed
Here is my uarte init

NRF_LIBUARTE_ASYNC_DEFINE(libuarte1, 0, 1, 2, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 1000, 3);
// using app timer for this uarte
NRF_LIBUARTE_ASYNC_DEFINE(libuarte2, 1, 2, NRF_LIBUARTE_PERIPHERAL_NOT_USED, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 1000, 3);



static void uarte1_init(void) {
uint32_t err_code;
nrf_libuarte_async_config_t nrf_libuarte_async_config = {
.tx_pin = TX_PIN_NUMBER1,
.rx_pin = RX_PIN_NUMBER1,
.baudrate = NRF_UARTE_BAUDRATE_115200,
.parity = NRF_UARTE_PARITY_EXCLUDED,
.hwfc = NRF_UARTE_HWFC_DISABLED,
.timeout_us = 100,
.int_prio = APP_IRQ_PRIORITY_LOW_MID};

err_code = nrf_libuarte_async_init(&libuarte1, &nrf_libuarte_async_config, uart_event_handler_1, (void *)&libuarte1);
APP_ERROR_CHECK(err_code);
nrf_libuarte_async_enable(&libuarte1);
}



static void uarte2_init(void) {
uint32_t err_code;
nrf_libuarte_async_config_t nrf_libuarte_async_config2 = {
.tx_pin = TX_PIN_NUMBER2,
.rx_pin = RX_PIN_NUMBER2,
.baudrate = NRF_UARTE_BAUDRATE_115200,
.parity = NRF_UARTE_PARITY_EXCLUDED,
.hwfc = NRF_UARTE_HWFC_DISABLED,
.timeout_us = 100,
.int_prio = APP_IRQ_PRIORITY_LOW_MID};

err_code = nrf_libuarte_async_init(&libuarte2, &nrf_libuarte_async_config2, uart_event_handler_2, (void *)&libuarte2);
APP_ERROR_CHECK(err_code);
nrf_libuarte_async_enable(&libuarte2);
}

 

  • I mean device not crashed. As I mentioned above. I am using libuarte in this application and while my debug terminal stop show info, my Serial Monitor (Hercules) is still show RX data that nRF receive from Module Sim (Device is working normally (observe Hercules, data is transfer and receive normally, but debug terminal not show any info, at like my snapshot)

  • I am not able to reproduce this error. I tried connecting the uart pins to an external terminal trying to send data and I can see the logs as intended.

    Please check to see if there are any errors. Normally you should get an event NRF_LIBUARTE_ASYNC_EVT_ERROR in the registered evt_handler of libuarte. Most of the times cause of any errors might break the flow of your communication and break some handshake mechanism you have with your device and the peer device.

Related