I2C有8位数据,为7位选址+R/W。
当SCL为高电平时,SDA从高电平向低电平切换,为I2C的起始条件。
当SCL为低电平时,SDA由低电平向高电平切换,为I2C的停止条件。
SCL保持低电平,主机则处于等待状态。
ACK为响应,发送完一个数据后等待响应。
从I2C接收一个字节:
1、初始化
I2C start
发设置寄存器地址和设置数(例如时钟芯片设置为24小时显示,先发送24小时显示位所在的寄存器地址,然后再发送设置数)
I2C stop
2、I2C读(指定读取地址)(SD2300)
start
寻址地址+0(写)
ACK
内部地址+传输模式
ACK
start
寻址地址+1(读)
ACK
数据
ACK/NACK
stop