正点原子IIC例程延时2us疑问

2019-08-11 18:32发布

微信图片_20171022150221.png 微信图片_20171022150232.png 一,不应该大于4us吗?是我搞错什么了吗?



捕获.PNG 二,不是很理解最后那里延时10ms的作用
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
DreamWaterPro
2019-08-11 20:18
Q1:不应该大于4us吗?是我搞错什么了吗?
A1:emmm。。。这个应该得看目标器件的数据手册。
在AR24C02数据手册的第7页,图2:

AT24C02 IIC 时序

AT24C02 IIC 时序


可以看到标记的SDA有效位的保持时间为tHIGH。而在数据手册的第5页,表五中第三行:

时间参数

时间参数


可以看到SDA有效位保持时间的取值范围是0.6us~4.0us。因此来讲正点原子例程给了2us的延时,对于AT24C02来讲是正确的.

应当说明,我个人在调试IIC总线的时候曾经使tHIGH长达数秒,但是依旧能够完成通信;但是如果太短,会造成通信失败。宁长不要短吧。


Q2:不是很理解最后那里延时10ms的作用
A2:这个主要是对AT24C02加的,由于AT24C02接收到写入指令之后,真正将数据写入到EEPROM存储体中需要花费一定的时间,故留出10ms的延时。
这里有个同样的问题,可以参考:
http://www.openedv.com/forum.php?mod=viewthread&tid=231333

另附上AT24C02的数据手册以供参考。

AT24C02 datasheet.pdf (444.98 KB, 下载次数: 157) 2017-10-26 00:11 上传 点击文件名下载附件
AT24C02数据手册


以上。

一周热门 更多>