先看i2c基本协议帧:
linux驱动开发之i2c时序简析
结合时序图理解:
linux驱动开发之i2c时序简析
SCL时钟频率是固定的
sda默认为高电平,从高电平变化到低电平,表示开始;接着发送7bit从设备地址,接着区分读写位,sda高电平时候读数据,sda低电平时候写数据, 第9个周期(不包括起始周期)是ACK,接下来8个周期发送8bit数据,接着又一个ACK(强行拉高。然后拉低点平),接下来8个周期发送8bit数据,接着又一个ACK(强行拉高。然后拉低电平)……..当SCL为高电平,sda从低电平变化成高电平,表示停止位。
规则:SCL为高电平的时候,sda数据才有效,即只看SCL为高电平时候,如果sda稳定为某一个值,则sda数据有效。

相关文章:

  • 2021-06-03
  • 2021-10-19
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2021-09-16
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2021-10-16
  • 2022-12-23
  • 2021-12-05
  • 2021-04-01
相关资源
相似解决方案