目录
IIC启动信号
在SCL为高的时候,SDA管脚从高到低,就生成开始信号。
总结:空闲时候SCL和SDA都为高电平,为释放总线。
地址
一般地址为7位数据,最后一位表示数据是读还是写。
地址是主设备和多个从设备连接的时候选择特定从设备而输出的7位数据。从设备一般是硬件检查开始信号,然后查看这7位数据是否和自己的地址相同。然后确定后续是否通讯。
应答
应答是确认发送方和接收方的串行数据状态。
接收方在第9个时钟将SDA拉低,生成应答信号。
当我们读取数据的时候,读取完最后一个字节,主机要发送NOACK,也就是非应答信号,提示从机后面不用发送数据了,不继续再读了。后面就可以紧跟着停止信号,结束传输。
当做从机的时候不想再继续接收数据也可以产生NOACK,通知主机自己不需要接收数据了。
总结下来不产生ACK情况如下:
1.数据没有被正常接收
2.已经是最后一个数据
3.地址不存在
停止信号
当SCL为高的时候,SDA从低变到高,生成停止信号。
总结:SDA从低到高,实际上也就是释放了总线。
24C256应用
数据在上升沿被采集
- 写数据
- 读数据
- 读写过程
写EEPROM 过后需要等待5ms,不能立即读,否则从机会给NOACK,不响应主机读数据要求。