##定义
inter-intergrated circuit 中文应该叫集成电路总线
特点
1. 只需要两条总线:SDA 数据总线, SCL时钟总线(由主设备控制)
2. 主设备没有限制,从设备取决于寻址总线的位数,一般是127个(2的7次方)
3. 可以单主配单从,单主配多从(比如一个MCU要接多个从传感器),多主配单从(多个MCU都共用一个LED),多住配多从
4. 传输速度有:标准模式100k,快速模式400K等等
##原理
1. 硬件原理图
2.协议过程下图同颜色的方块就表示的是一起发送的比特位。三步走:
第一步:找到想要的从机
在SCL总线为高电平时,我们主机SDA就可以从高电平变成低电平,SCL就从高电平变成低电平,此时应该就表示了我们现在在用着I2C总线了。
然后我们的SDA发送8个比特位,其中包含的就是7个想要找到的从机的地址,还跟着一个读写位。
如果从机匹配上了,那么从机会把SDA拉低一次,意思就是向主机反馈 ,我在这里。
那么接着主机向从机发送一个请求内存器的地址,从机会反馈一个确认位。
第二步:从机的反馈
从机此时会反馈一个主机想要的那个寄存器的值,主机收到了之后返回一个确认位。
第三步
在SCL是高电平的的时候,SDA重新恢复至高电平。
参考资料:
【3分钟理解通信协议之I2C总线-哔哩哔哩】 https://b23.tv/Gdu46Vq