ESP32之I2C

ESP32之I2C坑

IDF 5.1

驱动库是driver/i2c.h

从底层原理来实现

image-20231203142120310

image-20231203142135961

封装好的函数

不用按照上面的那些底层步骤,一步步地写,直接用封装好的函数就行了。

发送

image-20231203150120919

接收

image-20231203150135133

步骤

  1. 引脚配置
1
2
3
4
5
6
7
8
9
10
i2c_config_t conf = {
.mode = I2C_MODE_MASTER,
.sda_io_num = AHT10_MASTER_SDA_IO,
.scl_io_num = AHT10_MASTER_SCL_IO,
.sda_pullup_en = GPIO_PULLUP_ENABLE,
.scl_pullup_en = GPIO_PULLUP_ENABLE,
.master.clk_speed = I2C_MASTER_FREQ_HZ,
};

esp_err_t ret = i2c_param_config(i2c_master_port, &conf);
  1. 安装驱动
1
i2c_driver_install
  1. 直接掉封装好的函数

IDF 5.3

I2C驱动库更新了,主机模式,驱动库是 driver/i2c_master.h

参考资料

官方手册


ESP32之I2C
https://blog.xsaistudio.cn/uncategorized/2023/11/25/单片机/ESP32之I2C/
作者
YWM
发布于
2023年11月25日
许可协议