fix(i2c_master): Fix issue that i2c clock got wrong after reset,

Closes https://github.com/espressif/esp-idf/issues/13397
This commit is contained in:
Cao Sen Miao
2024-04-01 10:55:39 +08:00
parent 2291ded9a1
commit ae94c0134b
10 changed files with 339 additions and 8 deletions
+2
View File
@@ -827,6 +827,8 @@ static esp_err_t s_i2c_synchronous_transaction(i2c_master_dev_handle_t i2c_dev,
i2c_dev->master_bus->queue_trans = false;
i2c_dev->master_bus->ack_check_disable = i2c_dev->ack_check_disable;
ESP_GOTO_ON_ERROR(s_i2c_transaction_start(i2c_dev, timeout_ms), err, TAG, "I2C transaction failed");
xSemaphoreGive(i2c_dev->master_bus->bus_lock_mux);
return ret;
err:
// When error occurs, reset hardware fsm in case not influence following transactions.