I2C时序小结

本文详细介绍了I2C通信协议的基本原理,包括其使用的两根线(时钟线SCL和数据线SDA),以及如何通过半双工方式实现主从设备间的串行通信。特别阐述了I2C总线在进行数据传输时的具体步骤,涵盖了写时序和读时序,并解释了如何通过设备地址来实现多个设备间的组网。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I2C两根线,时钟线(SCL),数据线(SDA),双向传输,半双工,主从关系,串行通信,适合器件之间短距离传输、非经常性传输数据,每次传输数据会带上目的设备的设备地址,因此可以实现组网。

写时序如下: 

  1. Masket发送起始信号(SDA从高电平到低电平)
  2. Masket发送七位Slave address和一位读写位(写信号),等待ACK
  3. Slave发送ACK
  4. Masket发送八位reg address,等待ACK
  5. Slave发送ACK
  6. Masket发送八位reg data,等待ACK
  7. Slave发送ACK
  8. Masket发送结束信号(SDA从低电平到高电平)

读时序如下:(I2C读要先写)

  1. Masket发送起始信号
  2. Masket发送七位Slave address和一位读写位(写信号),等待ACK
  3. Slave发送ACK
  4. Masket发送八位reg address,等待ACK
  5. Slave发送ACK
  6. Masket发送结束信号
  7. I2C初始化状态(不用操作)
  8. Masket发送起始信号
  9. Masket发送七位Slave address和一位读写位(读信号),等待ACK
  10. Slave发送ACK
  11. Masket发送八位reg address,等待ACK
  12. Slave发送ACK
  13. Slave发送八位reg data,等待ACK
  14. Masket发送ACK,Masket若不发送ACK表示结束信号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值