一、I2C简介
I2C(Inter-Integrated Circuit,又称为I2C或I²C)是一种串行通信协议,用于连接微控制器和外部设备,例如传感器、存储器、显示器等。它是一种简单而灵活的通信协议,由飞利浦公司(现在的恩智浦半导体)在1982年开发。
I2C
(内部集成电路)总线接口用作微控制器和
I
2
C
串行总线之间的接口。它提供多主模式功
能,可以控制所有
I
2
C
总线特定的序列、协议、仲裁和时序。它支持标准和快速模式。它还
与
SMBus 2.0
兼容。
它可以用于多种用途,包括
CRC
生成和验证、
SMBus
(系统管理总线)以及
PMBus
(电源
管理总线)。

1)I2C的基本原理
- 双线制: I2C使用两根线来进行通信:串行数据线(SDA)和串行时钟线(SCL)。SDA线上的数据在SCL线的时钟信号下进行同步传输。
- 主从结构: I2C通信中,设备分为主设备(通常是微控制器)和从设备(例如传感器或存储器)。主设备负责发起通信和控制通信的时序,而从设备响应主设备的指令。
- 地址寻址: 每个I2C设备都有一个唯一的7位或10位地址,主设备通过发送目标设备的地址来选择通信对象。
2)I2C主要特性(STM32Fxxxx)
● 并行总线
/I
2
C
协议转换器
● 多主模式功能:同一接口既可用作主模式也可用作从模式
● I
2
C
主模式特性:
— 时钟生成
— 起始位和停止位生成
● I
2
C
从模式特性:
— 可编程 I
2
C
地址检测