SCL 时钟同步线,由主机发出。
当SCL为高电平(逻辑1)时是工作状态,低电平(逻辑0)时是休息状态。SCL可以控制通信的速度。
SDA 数据收发线
应答位:前八个工作区间是一个字节,在SCL的第九个工作区间从机将发送一个电平(因为SDA是接了一个2.2k的上拉电阻,默认是高电平)。主机读取,若是高电平表示数据错误没有应答,低电平时正常。当主机发给从机时,从机应答,从机发给主机时主机应答。也就是谁接受谁应答。
起始位:SDA 从1变成0
结束位:SDA 从0变成1
读数据与写数据
如何判断读还是写
读写标志位:第一个数据最右边一位(最低一位)用来判断是读还是写。逻辑1是读,逻辑0是写。
器件地址:第一个数据左边7位二进制数就是器件地址
指针功能(子地址,寄存器地址)
发送的第二个数据是指针,确定要读还是写哪一个寄存器(如第四个寄存器就是2进制的4)。
写数据时只需写完指针发送数据即可,读数据比较复杂,先要写数据,设置了指针,然后重新发送起始位,再进行写数据。
指针写过一次就会被保持,下一次在读写时,可以不使用指针。断电或复位会丢失。