I2C协议
Inter-Intergrated Circuit Bus 集成电路总线
作用
- 多个ic间相互通信
特点
- 占用接口少:只有SCL 和 SDA线
- 串行的,所有从机都用一根SDA线连接
- 可变速通信:时钟线的高低电平的切换频率可以控制
- 一主多从机:从机有7位地址构成,至多可连接111个器件
- 理论上是2^7=128个,但有一些预留地址

原理

- SCL的高电平时,SDA的数据才有效
- 上电默认,SDA和SCL都是高电平
- 起始信号:SDA下降沿
- 数据包:SDA高电平表示1,低电平表示0
- 应答信号:一个数据包是8位,第9位表示应答信号,低电平表示收到数据
- 终止信号:SDA上升沿
主机写
主机要在从机0x0a上,寄存器0x04,写数据 
- 起始信号
- 主机写从机地址
0001010 0(即 0x14),从机应答信号 - 主机写寄存器地址,从机回应
- 主机发送8位数据,从机回应
- ....
- 结束信号
主机读
主机要在从机0x0a上,寄存器0x04,读数据


- 起始信号
- 主机写从机地址
0001010 0(即 0x14),从机应答信号 - 主机写寄存器地址,从机回应
- 起始信号(重启信号)
- 主机读从机地址
0001010 1(即 0x15),从机应答信号 - 从机发送8位数据,主机应答信号
- ....
- 结束信号
示例
#_Later 通过gpio模拟i2c与oled屏通信 
附件
预留地址

