OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4024|回复: 6

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

[复制链接]

42

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
金钱
456
注册时间
2017-9-8
在线时间
58 小时
发表于 2017-10-22 15:09:50 | 显示全部楼层 |阅读模式
2金钱
微信图片_20171022150221.png 微信图片_20171022150232.png 一,不应该大于4us吗?是我搞错什么了吗?



捕获.PNG 二,不是很理解最后那里延时10ms的作用

最佳答案

查看完整内容[请看2#楼]

A1:emmm。。。这个应该得看目标器件的数据手册。 在AR24C02数据手册的第7页,图2: 可以看到标记的SDA有效位的保持时间为tHIGH。而在数据手册的第5页,表五中第三行: 可以看到SDA有效位保持时间的取值范围是0.6us~4.0us。因此来讲正点原子例程给了2us的延时,对于AT24C02来讲是正确的. 应当说明,我个人在调试IIC总线的时候曾经使tHIGH长达数秒,但是依旧能够完成通信;但是如果太短,会造成通信失败。宁长不 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2017-10-22 15:09:51 | 显示全部楼层
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, 下载次数: 164)
十六进制带我飞。
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-9-4
在线时间
14 小时
发表于 2017-10-22 15:47:59 | 显示全部楼层
1、模拟IIC时序要以被操作对象的数据手册里时序图为准
回复

使用道具 举报

42

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
金钱
456
注册时间
2017-9-8
在线时间
58 小时
 楼主| 发表于 2017-10-22 15:59:52 | 显示全部楼层
l91077 发表于 2017-10-22 15:47
1、模拟IIC时序要以被操作对象的数据手册里时序图为准

你好  可是正点的例程运行起来也没错呢
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2017-9-4
在线时间
14 小时
发表于 2017-10-22 16:18:34 | 显示全部楼层
15767909146 发表于 2017-10-22 15:59
你好  可是正点的例程运行起来也没错呢

你看时序图的时间,它是有范围的,但不一定准确
回复

使用道具 举报

14

主题

141

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2015-12-20
在线时间
119 小时
发表于 2017-10-22 23:19:26 | 显示全部楼层
15767909146 发表于 2017-10-22 15:59
你好  可是正点的例程运行起来也没错呢

有没有试过不延时或延时少了有什么后果?
我觉得应该是保证EEPROM足够时间写入。
回复

使用道具 举报

42

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
金钱
456
注册时间
2017-9-8
在线时间
58 小时
 楼主| 发表于 2017-10-26 16:53:34 | 显示全部楼层
DreamWaterPro 发表于 2017-10-26 00:21
A1:emmm。。。这个应该得看目标器件的数据手册。
在AR24C02数据手册的第7页,图2:

原来如此
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-23 03:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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