作者:木又的思念_740 | 来源:互联网 | 2023-05-18 23:18
【紧急求助】我用内部EEPROM存储一些有用的信息,在测试过程中读读来是没有问题的,但是产品发出去商用后,回来读取的时候就不正确了,有时全为0xFF。难道外面有什么干扰到读写。望高手指点,小弟不胜感
【紧急求助】我用内部EEPROM存储一些有用的信息,在测试过程中读读来是没有问题的,但是产品发出去商用后,回来读取的时候就不正确了,有时全为0xFF。难道外面有什么干扰到读写。
望高手指点,小弟不胜感激啊。
3 个解决方案
E2P读写时要确保电源电压稳定。
上电时电压不稳,容易出现意外。在初始化中加1秒的延迟后,再进行E2P操作。如果应用条件允许延迟可以更长些。要确保上电后启动大负载时,电压波动不影响MCU电源。除了读写时电源不稳,没有什么情况会导致E2P异常。如果你这些都注意了,就没问题。
外界干扰问题这完全靠你的经验了,电路设计是否合理,现场假设情况能模拟的话,最好研发时模拟一下,最终达到测试故障率为零在投产,包括模拟一下突然断电,乎断乎通的情况,这个好模拟,不断插拔电源即可,看看能都通过考验。
读取应该是正确的,如果读出是0xFF,那么有可能该扇区被意外擦除了。如果你代码中有EEPROM的擦除/编程函数,这种可能性很大了。
这种意外可能源于纯软件的程序跑飞。另外,电压监控做不好也可以导致程序跑飞,一般是在电压达不到CPU正常工作的阈值电压时需要使芯片处于复位状态。
肯定是電源問題!跟我做的那個項目一樣也出現過這個問題!STC12C5A60S2裏面有個第二復位腳可以利用一下能夠防止這個問題的出現