I2C介绍
I2C 是一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。简单说就是 只需要4根线(电源正、GND、SDA线和SCL线)就可以让单片机和单片机或其他设备(多达100多个设备)通讯,也就是说100多个设备互相通讯只用4根线就可以了,所以说他是串行总线。
具体来说,SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出。需通过上拉电阻接电源VCC。当总线空闲时,两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路,在总线上消耗的电流很小,因此总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容,而线路中电容会影响总线传输速度。当电容过大时,有可能造成传输错误。所以,其负载能力为400pF,因此可以估算出总线允许长度和所接器件数量。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据