IIC总线的白痴问题- -~!

来源:百度知道 编辑:UC知道 时间:2024/09/18 07:01:32
SDA 线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变。。为什么啊??什么叫做必须稳定,不稳定会发生什么事情。。。

为什么啊?
不为什么,因为I2C总线规范就是这样定义的。如果不符合这样的要求,I2C总线就定义为起始位或者停止位。

起始位的定义:时钟为高电平时,SDA 线上的电平由高变为低;
停止位的定义:时钟为高电平时,SDA 线上的电平由低变为高。

这是IIC协议规定的。
当时钟线为高时:数据不可以变化;
当时钟线为低时,数据可以改变。

就和两个不认识的人接暗号一样,两个人事先定好通信协议,然后两人以后的聊天都按照这个协议执行。

IIC也一样,飞利浦定好通信协议了,我们要用人家的协议,就要按照人家的规定执行。

你想嘛,在数据传输时,如果SCL高电平期间数据线的状态发生改变的话,那不就符合了起始条件或停止条件了吗?这样就无法区分到底是数据还是起始、停止信号了。所以数据在SCL高电平期间必须保持稳定,数据的改变必须发生在SCL=0期间。