这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 怎么破?断电保存到EEPROM (M24C02),上电读出,偶尔读出错误!。。。

共1条 1/1 1 跳转至

怎么破?断电保存到EEPROM (M24C02),上电读出,偶尔读出错误!。。。

工程师
2019-11-09 23:21:07     打赏

如题,其中MCU是STC单片机。EEPROM用的是意法半导体ST的 m24c02,和at24c02有点不同,代码改了一点可以读写,用的模拟IIC。


内容安排区间,比如:
0-1是标志字节,2-3是配置参数,N-M是存最新内容的区间

逻辑是:
1、开机读出参数,标志位的两个字节如果不是指定值就认为是出厂第一次运行,就把flash的初始值写进去。。。指定位字节就变成了指定内容
2、电压低的时候保存最新N-M区间的内容,用的是超级电容,通过串口测试,每次断电保存都保存好了,然后还可以串口发很多数据(故意死循环的),可以持续大概300-500ms甚至更长
3、开机读出如果是指定标志,就直接读取2-3的内容作为设置值

现在是,偶尔会出现参数丢失,恢复了默认值(被认为是出厂了,重新写了覆盖了),其实就应该是开机检验的时候,指定位置的字节对不上,重新写入了默认值

但是大概率是不会丢失的,不知道怎么办避免这个问题呢?或者问题出现在哪里?


不确定是不是某些原因让整个片子擦除了?目前硬件是带写保护引脚控制的,程序也用到了写保护控制IO




关键词: EEPROM     M24C02     24c02    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]