IIC其实很简单的,让我这个小白来告诉你吧
IIC的主要信号就是三个:启动信号,停止信号,应该信号
启动和停止信号:在任何时候都可以产生
应该信号:在发送或者接收完成8个位之后的第9个位来产生.0为应答,1为不应答,向器件写入数据时,应答信号由接收器产生,从器件读出数据时,应答信号由单片机产生
以51读写24C01为例:
向24C01写入时,先写入启动信号,然后写入地址(8个位),在第9个位的时候,SDA线要为高电平(释放SDA线),接下来,单片机要不断的读取SDA线,当写入完成时,24C01会把SDA线拉低,就表示已经写入完成了.
读出数据时:先是一个启动信号,然后写入要读取的地址,再写入一个启动信号,然后单片机就开始读取SDA的电平数据了,在读取完8个位之后,在第9个位的时候,单片机要把SDA拉低(0),再给24C01一个时候,等于是告诉24C01已经接收到完整的8个位了 |