51单片机和24C02通讯延时到底要多少啊?

vnvlyp 2013-11-24 09:36:56
手册上写的Write Cycle Time要10ms,但是我发现只要大概900us,最多1ms左右就够了,我试了不同的值不同的地址发现都没问题啊。
另外其他的比如Start Hold Time,Clock Pulse Width Low什么的都是4~5us左右,但是我发现不延迟也没问题?
比如CLR SCL以后马上就能SETB SCL,这个不需要延迟吗?


...全文
558 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpuwolf 2013-11-28
  • 打赏
  • 举报
回复
都什么年代了,还用51,试试STM8吧,会让你眼睛一亮
seedundersnow 2013-11-26
  • 打赏
  • 举报
回复
.....多主机或多从机........(打错了字了...)
seedundersnow 2013-11-26
  • 打赏
  • 举报
回复
如果不考虑多主机可多从机的情况(通常我们只有一主一从), 延时可以缩短. 不过基本时序要保证.
zyzhang365 2013-11-25
  • 打赏
  • 举报
回复
stop与start/restart的时间叫tBuf,这个是I2C规定的。 EEPROM的擦写时间叫tWR,这个是EEPROM厂商给出的。
woshi_ziyu 2013-11-25
  • 打赏
  • 举报
回复
比如CLR SCL以后马上就能SETB SCL,这个不需要延迟吗? ------- 有个指令周期的延迟
cokeliu 2013-11-25
  • 打赏
  • 举报
回复
一般是指stop与stop之间的延迟时间吧,
of123 2013-11-25
  • 打赏
  • 举报
回复
手册给的是保证你没有问题的条件,相对比较保守。 如果你写的代码是要交付用户使用的,最好按手册来。如果是自己玩玩,那就没关系了。
pathletboy 2013-11-25
  • 打赏
  • 举报
回复
t(WR) 参数是MAX,也就是最多需要10MS,不代表次次需要10MS,有时候可能需要1MS,有时候缺可能10MS,“CLR SCL以后马上就能SETB SCL“,这个时间是t(LOW)1.2us,这说明你51达不到这个速度,8M晶振算最短指令执行也需要 1/8000000*12=0.0000015s=1.5us
诶呦 2013-11-25
  • 打赏
  • 举报
回复
Min是告诉你至少要有这么长的时间,低于了肯定不行; Max是告诉你,Min到Max之内都可以,但是超过了的话,极有可能操作已经失败。(写超时?)
zyzhang365 2013-11-24
  • 打赏
  • 举报
回复
这个和I2C时序本身没有关系,说的是EEPROM擦写的时间。
lbing7 2013-11-24
  • 打赏
  • 举报
回复
除非对做对应接口的硬件,要不没必要去挑战硬件协议的智商。
dceacho 2013-11-24
  • 打赏
  • 举报
回复
Write Cycle Time这个指标一般是指内部写一页所需的时间,你写完满满一页后要等一会

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧