5. I2C 集成电路总线
外设说明
STM32F103C8T6 有 2 路 I2C 接口,支持标准模式(100kHz)和快速模式(400kHz),常用于连接 OLED 屏幕、24C 系列 EEPROM、温湿度传感器等。
核心 HAL API
| API 函数名 | 功能说明 |
|---|---|
HAL_I2C_Init | I2C 外设初始化,配置速度、地址模式等 |
HAL_I2C_Mem_Write | 向从设备指定寄存器写入数据 |
HAL_I2C_Mem_Read | 从从设备指定寄存器读取数据 |
一步一步使用流程
- 开启 I2C 与对应 GPIO 端口的时钟
- 配置 SCL、SDA 引脚为开漏复用输出模式(I2C 必须开漏 + 上拉)
- 配置 I2C 通信速度、地址模式
- 调用读写 API 与从设备通信
完整代码示例(读写 24C02 EEPROM)
(1)初始化代码
// 全局I2C句柄 I2C_HandleTypeDef hi2c1; /