diff --git a/esphome/components/uart/uart_component_esp_idf.cpp b/esphome/components/uart/uart_component_esp_idf.cpp index af6aa57462..b1f15f7d21 100644 --- a/esphome/components/uart/uart_component_esp_idf.cpp +++ b/esphome/components/uart/uart_component_esp_idf.cpp @@ -200,19 +200,23 @@ void IDFUARTComponent::dump_config() { } void IDFUARTComponent::set_rx_full_threshold(size_t rx_full_threshold) { - esp_err_t err = uart_set_rx_full_threshold(this->uart_num_, rx_full_threshold); - if (err != ESP_OK) { - ESP_LOGW(TAG, "uart_set_rx_full_threshold failed: %s", esp_err_to_name(err)); - return; + if (this->is_ready()) { + esp_err_t err = uart_set_rx_full_threshold(this->uart_num_, rx_full_threshold); + if (err != ESP_OK) { + ESP_LOGW(TAG, "uart_set_rx_full_threshold failed: %s", esp_err_to_name(err)); + return; + } } this->rx_full_threshold_ = rx_full_threshold; } void IDFUARTComponent::set_rx_timeout(size_t rx_timeout) { - esp_err_t err = uart_set_rx_timeout(this->uart_num_, rx_timeout); - if (err != ESP_OK) { - ESP_LOGW(TAG, "uart_set_rx_timeout failed: %s", esp_err_to_name(err)); - return; + if (this->is_ready()) { + esp_err_t err = uart_set_rx_timeout(this->uart_num_, rx_timeout); + if (err != ESP_OK) { + ESP_LOGW(TAG, "uart_set_rx_timeout failed: %s", esp_err_to_name(err)); + return; + } } this->rx_timeout_ = rx_timeout; }