uart: Fix two TX concurrency issues

1. Concurrency might cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done
2. Concurrency might cause RTS line being de-assreted during tx transmission for rs485 mode
This commit is contained in:
Song Ruo Jing
2022-12-14 15:30:57 +08:00
parent 990c6f58a6
commit b69f983525
10 changed files with 130 additions and 3 deletions

View File

@@ -210,6 +210,18 @@ FORCE_INLINE_ATTR void uart_ll_disable_intr_mask(uart_dev_t *hw, uint32_t mask)
hw->int_ena.val &= (~mask);
}
/**
* @brief Get the UART raw interrupt status.
*
* @param hw Beginning address of the peripheral registers.
*
* @return The UART interrupt status.
*/
static inline uint32_t uart_ll_get_intraw_mask(uart_dev_t *hw)
{
return hw->int_raw.val;
}
/**
* @brief Get the UART interrupt status.
*