mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 09:09:10 -04:00
fix(lp_uart): Update the lp_core_uart_tx_flush() API to wait for Tx idle
This commit updates the lp_core_uart_tx_flush() API to wait for the Tx line to become idle, therefore confirming that all bytes are sent out. Closes https://github.com/espressif/esp-idf/issues/15433
This commit is contained in:
parent
b504d61f42
commit
b4f59dae9c
@ -68,9 +68,9 @@ void lp_core_uart_tx_flush(uart_port_t lp_uart_num)
|
||||
(void)lp_uart_num;
|
||||
int loop_cnt = 0;
|
||||
|
||||
if (uart_ll_is_enabled(LP_UART_NUM_0) && !uart_hal_is_tx_idle(&hal)) {
|
||||
if (uart_ll_is_enabled(LP_UART_NUM_0)) {
|
||||
/* Wait for the Tx FIFO to be empty */
|
||||
while (!(uart_hal_get_intraw_mask(&hal) & (LP_UART_TX_INT_FLAG | LP_UART_ERR_INT_FLAG))) {
|
||||
while (!(uart_hal_get_intraw_mask(&hal) & (LP_UART_TX_INT_FLAG | LP_UART_ERR_INT_FLAG) && uart_hal_is_tx_idle(&hal))) {
|
||||
loop_cnt++;
|
||||
if (loop_cnt > 10000) {
|
||||
/* Bail out */
|
||||
|
Loading…
x
Reference in New Issue
Block a user