共2条
1/1 1 跳转至页
问
关于i2c 的起始和结束条件定义如下:
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。
Q:当一串数据在传输时,SCL为一周期信号,若恰好SCL为低电平时,SDA由低电平向高电平跳变,请问会不会有这一现象出现?
若无,是如何避免的?
若有,根据定义,数据的传输岂不会中断? 答 1: RE呵 SCL SDA可以在程序中用SETB CLR指令由你控制 答 2: LZ搞错了!在I2C 总线中唯一出现的是被定义为起始S 和停止P 条件的情况:
其中一种情况是在SCL 线是高电平时SDA 线从高电平向低电平切换这个情况表示起始条件
当SCL 是高电平时SDA 线由低电平向高电平切换表示停止条件
起始和停止条件一般由主机产生,SCL也是由主机产生的,从器件不会也不应该改变SCL
所以当SCL处于高电平时主机是不能随便改变SDA的电平的,否则就会被认为是起始或停止位,而传输数据时主机应该在SCL置低时再改变SDA的电平
从器件只会在收到SCL的下降沿时才会改变输出,因此不会由从器件产生起始或停止位
总线在起始条件后被认为处于忙的状态,直到在停止条件的某段时间后 答 3: TKS感谢指点迷津,我明白了。 答 4: xwj讲得好
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。
Q:当一串数据在传输时,SCL为一周期信号,若恰好SCL为低电平时,SDA由低电平向高电平跳变,请问会不会有这一现象出现?
若无,是如何避免的?
若有,根据定义,数据的传输岂不会中断? 答 1: RE呵 SCL SDA可以在程序中用SETB CLR指令由你控制 答 2: LZ搞错了!在I2C 总线中唯一出现的是被定义为起始S 和停止P 条件的情况:
其中一种情况是在SCL 线是高电平时SDA 线从高电平向低电平切换这个情况表示起始条件
当SCL 是高电平时SDA 线由低电平向高电平切换表示停止条件
起始和停止条件一般由主机产生,SCL也是由主机产生的,从器件不会也不应该改变SCL
所以当SCL处于高电平时主机是不能随便改变SDA的电平的,否则就会被认为是起始或停止位,而传输数据时主机应该在SCL置低时再改变SDA的电平
从器件只会在收到SCL的下降沿时才会改变输出,因此不会由从器件产生起始或停止位
总线在起始条件后被认为处于忙的状态,直到在停止条件的某段时间后 答 3: TKS感谢指点迷津,我明白了。 答 4: xwj讲得好
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |