Skip to content

I2C协议

Inter-Intergrated Circuit Bus 集成电路总线

作用

  • 多个ic间相互通信

特点

  • 占用接口少:只有SCL 和 SDA线
    • 串行的,所有从机都用一根SDA线连接
  • 可变速通信:时钟线的高低电平的切换频率可以控制
  • 一主多从机:从机有7位地址构成,至多可连接111个器件

原理

  • 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屏通信

附件

预留地址

|650

参考资料

最近更新