总线的状态:低电平、高电平、高阻态(现象为好像断开了与总线的连接)
SCL时钟总线只由主机决定
从机如何控制SDA总线的高、低电平
解释:如果从机接地,SDA总线就会被拉低为低电平;如果从机的引脚(GPIO)设置为开漏输出,也就是高阻态模式。
这就是I2C协议,没啥好说的,仔细看上图就可以了。但是,此时有一个大问题,主机读数据从哪里读,主机写数据往哪里写(后面会有解释)。
SCL总线是如何控制SDA数据以正常的频率发出,例如此时发送的是高电平,但是采集时有可能处于高低电平转化的状态。
规定:SCL为高并且SDA由高到底时,此为I2C协议的开头;同理,I2C的帧结束也有相应的SCL和SDA的输出。