I2C总线

[复制链接]
 楼主| zhenykun 发表于 2012-12-18 20:25 | 显示全部楼层 |阅读模式
模拟的I2C总线为什么要读写E2PROM 2次才可以正确写入呢?
wyjie 发表于 2012-12-18 21:24 | 显示全部楼层
 楼主| zhenykun 发表于 2012-12-18 21:24 | 显示全部楼层
多给点资料没事吧??这样子太难猜了
wyjie 发表于 2012-12-18 21:24 | 显示全部楼层
就是说 ,按照DATASHEET里的时序读写E2PROM,第一次写不成功,第二次才写成功
jlyuan 发表于 2012-12-18 21:27 | 显示全部楼层
读写其他的设备呢
 楼主| zhenykun 发表于 2012-12-18 21:28 | 显示全部楼层
没有问题
yszong 发表于 2012-12-18 21:29 | 显示全部楼层
你没按规范做,要相当清楚地知道,做芯片的人比你了解I2C总线协议要透彻得多,仔细拿示波器找时序来看。
dengdc 发表于 2012-12-18 21:29 | 显示全部楼层
你的初始化有问题吧
heweibig 发表于 2012-12-18 21:31 | 显示全部楼层
估计是应答/非应答没做好
wuhany 发表于 2012-12-18 21:31 | 显示全部楼层
GPIO模拟IIC貌似简单,但要做到非常成熟也不容易。
lizye 发表于 2012-12-18 21:33 | 显示全部楼层
举个例子:

设备的NACK回复
设备忙绿,拉低SCL
SDA和SCL的线路不平衡
意外中断,设备在发送数据的时候,主机发送START,这是需要有一个安全的推出机制,使得设备重新等待START
设备出错SCL一直拉着不放
SDA被意外拉低
。。。。。。
jiahy 发表于 2012-12-18 21:33 | 显示全部楼层
一个比较笨的方法,就是每次读写E2PROM都使用3次以保证读写成功。
shimx 发表于 2012-12-18 21:34 | 显示全部楼层
从二楼到各个楼,都说了,NACK。楼主最大的可能是最后一个发了ACK。
另外,写完后,要等5ms才可以进行读写。
jiaxw 发表于 2012-12-18 21:34 | 显示全部楼层
写完后,要等5ms才可以进行读写。  这个才是
 楼主| zhenykun 发表于 2012-12-18 21:36 | 显示全部楼层
没问题了
 楼主| zhenykun 发表于 2012-12-18 21:36 | 显示全部楼层
先结贴了
andrew10 发表于 2012-12-19 16:55 | 显示全部楼层
好像这问题最近我也遇到过
readygo2012 发表于 2012-12-20 15:50 | 显示全部楼层
有没有可能你的协议或者初始化不写,而导致出这问题
YingziSeek 发表于 2014-12-18 14:41 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部