Hi Nordic,
I am using the SDK 17, s140 and the nrf52840 , with a modified multilink NUS central example. The intention is to print over UART as fast as possible all data received from the BLE. But I get sometimes errors on the UART transmission -> while using cat in my terminal, there are several packages that are not transmitted complete.
I initialize the uart like this:
#define UART_TX_BUF_SIZE 16384 #define UART_RX_BUF_SIZE 16384 static void uart_init(void) { ret_code_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, false, NRF_UART_BAUDRATE_1000000 }; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_error_handle, APP_IRQ_PRIORITY_HIGH, err_code); APP_ERROR_CHECK(err_code); }
To print, i use printf() with the RETARGET_ENABLED enabled.
Theoretically, dma should be enabled by #define UART0_CONFIG_USE_EASY_DMA 1
I'm only printing from one place of the application. Is there something else i could do to receive properly the packages?
Maybe to use a better function than printf().
Any help is welcome. Thank you very much!