I2C
I2C
I2C (内部集成电路)总线可用于与连接到与 ESP32 相同的总线的多个外部设备进行通信。ESP32 板上有两个 I2C 控制器,每个控制器可以设置为主模式或从模式。
概述
以下部分将指导您完成配置和操作 I2C 驱动程序的基本步骤:
- 配置驱动程序 - 选择驱动程序的参数,如主模式或从模式,设置特定的 GPIO 引脚作为 SDA 和 SCL,设置时钟速度等。
- 安装驱动程序 - 在主站或从站模式下激活驱动程序,以便在 ESP32 上运行两个 I2C 控制器其中一个。
- 进行通讯:
- 主机模式 - 作为主机运行通信
- 从机模式 - 从机响应来自主机的消息
- 中断处理 - 配置和 I2C 中断服务。
- 超出默认值 - 调整 I2C 通信的时序,引脚配置和其他参数。
- 错误处理 - 如何识别和处理驱动程序配置和通信错误。
- 删除驱动程序 - 在通信结束时释放 I2C 驱动程序所使用的资源。
I2C 驱动程序标识是从 i2c_port_t
中选择的两个端口号之一。在驱动程序配置期间通过 i2c_mode_t
选择 “master” 或 “slave” 指定端口的操作模式。
配置驱动程序
建立 I2C 通信的第一步是配置驱动程序。这是通过设置 i2c_config_t
结构中包含的几个参数来完成的:
- I2C 操作模式 - 从
i2c_opmode_t
中选择 slave 或 master - 通讯引脚配置:
- 分配给 SDA 和 SCL 信号的 GPIO 引脚编号
- 是否为各个引脚启用 ESP32 的内部上拉
- I2C 时钟速度,如果此配置涉及主模
- 如果此配置涉及从属模式:
- 是否应启用 10 位地址模式
- 从机地址
然后,