I2C说明

      

   下图摘自NXP的SAA7144的手册

     I2C说明_第1张图片

在写操作中,DATA传送完后slave器件内地址会默认自增,直到master产生stop信号。在读操作中,DATA传送完后若master产生了应答信号,则slave器件内地址自增,master不产生应答信号意味着master不再接收新的数据。

  以下请参考附件TI_I2C.zip中的文档

     Devices on the I2C bus only drive the bus lines LOW by connecting them to ground; they never drive the 

bus lines HIGH. Instead, the bus wires are pulled HIGH by pullup resistors, so the bus wires are HIGH when no 

device is driving them LOW.

     The I2C bus is bidirectional: the SDA line is used both for transmitting and receiving data. When a master 

reads from a slave, the slave drives the data line; when a master sends to a slave, the master drives the data

 line.

      Under normal circumstances the master drives the clock line.The slave acknowledges the byte by pulling 

SDA LOW. The master then sends a clock pulse to clock the acknowledge bit.

 

SCL线一直由master控制,SDA由数据发送方控制。硬件上,SDA和SCL开漏上拉,因此idle状态是高电平,芯片管脚可以将其拉低,因此,有应答对应数据0,无应答对应数据1。

 

参考http://hi.baidu.com/gilbertjuly/item/b67ef40a4863c7cd74cd3c09

你可能感兴趣的:(c)