使用MSP430的模拟IIC对EEPROM进行读写,其中增加了WP的保护,但在读写数据时不对,但不增加WP,读写数据就可以,想请教下是什么原因导致此现象;
WP是在写之前关闭,在写之后关闭,中间增加1s延时,有无问题?
Susan Yang:
请问您现在使用的是什么芯片?EEPROM型号呢?
您可以先参考下
www.ti.com/…/slaa769a.pdf
www.ti.com/…/tidubi8a.pdf
user6081461:
回复 Susan Yang:
我用的是MSP430FG4618的,EEPROM用的是AT24LC256
user6081461:
回复 user6081461:
谢谢
xyz549040622:
回复 user6081461:
即使增加了WP,读操作也是被允许的,不应该读数据不对呀,建议重新测试,WP在写数据之前写0,写完数据写1是没有问题的,同样一样要注意电平的匹配,MCU和eeprom的供电是否一样呢?
灰小子:
建议用逻辑分析仪观察一下通讯时序,和eeprom手册上要求的对比一下。
user6081461:
回复 xyz549040622:
不是读数据不对,是读的数据跟写的数据不一致;
WP在写数据之前是0,写完了是1,MCU和EEPROM供电一样;
还有个就是,我在初始化时直接把WP写0,再在主程序中进行读写数据,没有任何问题,读写数据一致
user6081461:
回复 灰小子:
没有逻辑分析仪,每增加WP前我的 程序对EEPROM读写是没有任何问题的,因为出现了突然断电丢数据问题,才增加这个WP想来降低这个概率
xyz549040622:
回复 user6081461:
wp=0;
加点延时;
写数据;
加点延时;
wp=1;
加点延时;
读数据;
你是这么操作的吗?
灰小子:
回复 user6081461:
没有逻辑分析仪调试这些通讯时序挺麻烦的,只能靠猜。
建议买个三、四十元的,会很方便的