找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3107|回复: 5
收起左侧

为什么IIC读数据之前一定要把数据线拉高

[复制链接]
ID:369330 发表于 2020-6-17 10:30 | 显示全部楼层 |阅读模式
为什么IIC读数据之前一定要把数据线拉高,如果拉高就正常,不拉高就只打印第一个数据,PS:有上拉电阻了。
回复

使用道具 举报

ID:311846 发表于 2020-6-17 11:45 | 显示全部楼层
读数据之前指的是起始信号之前还是每个BIT之前?如果起始信号之前,那么你多回去看协议知识,如果读数据BIT那么你就检查电路和仿真调试了
回复

使用道具 举报

ID:24758 发表于 2020-6-17 14:58 | 显示全部楼层

图片2.jpg


根据I2C总线协议规定,每传送一个字节数据,都要有一个应答信号,以确定数据传送是否被对方收到。

而应答信号由接收设备产生,在SCL高电平期间将SDA拉低,表示数据传输正确,产生应答。


所以此时SDA应该为低电平,如果想要保证后续过程正常进行,下面要做的就是先将SDA拉高。


回复

使用道具 举报

ID:388929 发表于 2020-6-17 17:32 | 显示全部楼层
这是协议,是明文规定的,建议去了解IIC协议
回复

使用道具 举报

ID:782419 发表于 2020-6-17 20:50 | 显示全部楼层
这应该是I2C通信的时序要求吧!在这里卡了将近1个多星期,现在要用还需要看视频。通信协议在用的时候如果不清楚,可以再看下教学视频,理解一下I2C的读写时序和实现过程。用多了就熟了,这几一没用我都记清了!
回复

使用道具 举报

ID:369330 发表于 2020-6-18 15:24 | 显示全部楼层
已经找到了,目的是为了切换成输入模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表