打印

I2C总线问题

[复制链接]
1340|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
万山21|  楼主 | 2011-7-14 17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 万山21 于 2011-7-14 17:08 编辑

本人初学I2C总线通信,路遇疑难,望高人指点一二。i2c协议上是说SDA 线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL的时钟信号为低电平时才能改变。那在传输sda时把scl一直置为零不就行了,为什么还总将scl置高再置低呢?

相关帖子

沙发
joyme| | 2011-7-14 17:45 | 只看该作者
SCL置高从机开始读取data信号
SCL置低主机开始发送data信号
中间的延时就是保证SDA的在SCL变高时状态稳定,如果SCL不变高变低从机怎么知道什么时候读取数据线

SCL为高时SDA变低为起始条件,SCL为低时SDA变高为结束

使用特权

评论回复
板凳
万山21|  楼主 | 2011-7-14 18:24 | 只看该作者
SCL置高从机开始读取data信号
SCL置低主机开始发送data信号
我怎么没见协议上写的有这个意思呀?

使用特权

评论回复
地板
joyme| | 2011-7-15 09:01 | 只看该作者
有这个意思,没这么明显,需要你自己理解,如果直接SCL不变就不需要时钟信号了,这种协议也有如单线总线和异步串口通信等

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

267

帖子

1

粉丝