打印

读写E2PROM 2次才可以正确写入

[复制链接]
1671|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangpe|  楼主 | 2021-11-13 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模拟的I2C总线为什么要读写E2PROM 2次才可以正确写入呢?

使用特权

评论回复
沙发
llljh| | 2021-11-13 20:11 | 只看该作者
NACK

使用特权

评论回复
板凳
wangpe|  楼主 | 2021-11-13 20:13 | 只看该作者
多给点资料没事吧??这样子太难猜了

使用特权

评论回复
地板
wuhany| | 2021-11-13 20:15 | 只看该作者
就是说 ,按照DATASHEET里的时序读写E2PROM,第一次写不成功,第二次才写成功

使用特权

评论回复
5
renyaq| | 2021-11-13 20:17 | 只看该作者
读写其他的设备呢

使用特权

评论回复
6
wangpe|  楼主 | 2021-11-13 20:19 | 只看该作者
没有问题

使用特权

评论回复
7
午夜粪车| | 2021-11-13 20:22 | 只看该作者
你没按规范做,要相当清楚地知道,做芯片的人比你了解I2C总线协议要透彻得多,仔细拿示波器找时序来看。

使用特权

评论回复
8
chuxh| | 2021-11-13 20:30 | 只看该作者
你的初始化有问题吧

使用特权

评论回复
9
pengf| | 2021-11-13 20:32 | 只看该作者
估计是应答/非应答没做好

使用特权

评论回复
10
dengdc| | 2021-11-13 20:34 | 只看该作者
GPIO模拟IIC貌似简单,但要做到非常成熟也不容易。

使用特权

评论回复
11
zhenykun| | 2021-11-13 20:36 | 只看该作者
举个例子:

设备的NACK回复
设备忙绿,拉低SCL
SDA和SCL的线路不平衡
意外中断,设备在发送数据的时候,主机发送START,这是需要有一个安全的推出机制,使得设备重新等待START
设备出错SCL一直拉着不放
SDA被意外拉低
。。。。。。

使用特权

评论回复
12
chenho| | 2021-11-13 20:38 | 只看该作者
一个比较笨的方法,就是每次读写E2PROM都使用3次以保证读写成功。

使用特权

评论回复
13
chuxh| | 2021-11-13 20:41 | 只看该作者
你测试电量?

使用特权

评论回复
14
pengf| | 2021-11-13 20:44 | 只看该作者

从二楼到各个楼,都说了,NACK。楼主最大的可能是最后一个发了ACK。
另外,写完后,要等5ms才可以进行读写。

使用特权

评论回复
15
xxrs| | 2021-11-13 20:45 | 只看该作者
写完后,要等5ms才可以进行读写。  这个才是

使用特权

评论回复
16
wangpe|  楼主 | 2021-11-13 20:47 | 只看该作者
好像这问题最近我也遇到过

使用特权

评论回复
17
huangchui| | 2021-11-13 20:49 | 只看该作者
有没有可能你的协议或者初始化不写,而导致出这问题

使用特权

评论回复
18
heweibig| | 2021-11-13 20:51 | 只看该作者
这种问题很常见的。与I2C锁死现象很一致。模拟I2C建议加上防锁死机制。

使用特权

评论回复
19
yszong| | 2021-11-13 20:53 | 只看该作者
I2C的读函数与写函数之间要delay。一次就行了

使用特权

评论回复
20
wangpe|  楼主 | 2021-11-13 20:55 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝