ピン選択・プルアップ抵抗・通信速度 を誤ると不安定になりやすい特性があります。 本記事では、ESP32 の I2C を安全かつ確実に使用するためのポイントをまとめます。 ESP32 の I2C コントローラ構成 ESP32 には 2 つのハードウェア I2C コントローラがあります。
#define I2C_LINES_SCL_HI BIT(SOC_I2C_SCL_POS) #define I2C_LINES_SDA_HI BIT(SOC_I2C_SDA_POS) #define I2C_WAIT_PIN_DEASSERT 0U #define I2C_WAIT_PIN_ASSERT 1U #define I2C_XEC_CTRL_WR_DLY 8 #define ...
#define M_RX_FIFO_MAX_THLD_VALUE (TX_RX_FIFO_SIZE - 1) #define M_RX_FIFO_THLD_VALUE 50 #define I2C_MAX_TARGET_ADDR 0x7f #define I2C_TARGET_RX_FIFO_EMPTY 0x0 #define I2C_TARGET_RX_START 0x1 #define I2C ...