I2C — GPIO 模拟 I2C 主机
固件库: CIU32F003_STDLib V1.0.3
芯片: CIU32
源文件:CIU32/CIU32F003_STDLib_V1.0.3/Projects/I2C/GPIO_Simulate_I2C_Master/Source/main.c
功能简介
本示例演示 I2C 总线通信。I2C 只需两根线(SCL+SDA)就能连接多个设备,是最常用的低速通信总线。
硬件准备
- I2C 从设备(如 EEPROM、传感器模块)
- SCL/SDA 线上需要 4.7K 上拉电阻
完整代码
|
|
代码讲解
系统时钟初始化:配置 MCU 的主频和时钟树。不同芯片的时钟配置不同,一般由工具生成。
GPIO 配置:设置引脚为输出/输入模式,选择推挽/开漏输出,配置上拉/下拉。
实验现象
- 主机和从机完成数据收发
- 校验通过 LED 指示成功
注意事项
- I2C 总线需要上拉电阻(一般 4.7K)
- 从机地址要与设备手册一致(注意 7 位/8 位地址的区别)
- 写 EEPROM 后需要等待 5ms 以上再读