用GPIO模拟I2C来操作EEPROM只能读不能写
用GPIO模拟I2C来操作EEPROM(24C512)只能读不能写,EEPROM硬件未进行写保护,写的时候,每次的ACK都是正常的(低电平)。但是主程序中先写EEPROM,而后想要读出写进去的数值,但是每次读出来的还是之前别人写进去的数值,也就是自己没有写成功,搞不清楚是什么原因,望大神指点哇。。。用分析仪抓下时序看看,delay够吗 代码贴上来瞧一瞧,是不是没有开启写使能 石玉 发表于 2017-1-14 22:37
用分析仪抓下时序看看,delay够吗
延时5us和10us都试了,还是不行。 用逻辑分析下时序看看 我刚好也写过一次,给几个小建议,若有误,请指正:
1、好好看I2C的时序,启动-读写-数据-停止……。特别注意时间,【要严格一致】
2、不要去找例程。(我之前也自己找的,数据读出来了,但数据是错误的,原因也很简单,时序问题,为了保证时序一致,我用了三天时间,慢慢敲代码)
3、不能读,是不是芯片IO配置问题。
4、芯片是不是需要一个脉冲初始化启动,就有可能上电后的第一组数据,是读不出来的。原因,没有初始化脉冲。 <div class='shownolgin' data-isdigest='no'>解决了没,哥们
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <div class='shownolgin' data-isdigest='no'>我遇到同样的问题</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>解决了么</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>哥们,解决了么</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>哥们解决了没</div><script>showreplylogin();</script> <div class='shownolgin' data-isdigest='no'>MichaelYng 发表于 2017-1-17 09:04
我刚好也写过一次,给几个小建议,若有误,请指正:
1、好好看I2C的时序,启动-读写-数据-停止……。特别 ...
<p>感谢感谢,非常有用</p>
</div><script>showreplylogin();</script>
页:
[1]