[AVR单片机] eeprom有擦写次数限制怎么用

[复制链接]
12231|11
 楼主| LJ_Austin 发表于 2014-5-22 16:44 | 显示全部楼层 |阅读模式
eeprom datasheet上面写擦写寿命10万次,那要是放在主循环里面不就一会就崩了啊?
huangxz 发表于 2014-5-22 16:56 | 显示全部楼层
这个要注意使用,就算崩了也无所谓啊,只要不是大面积,100片以上,
偶尔干掉几片正常.只要不是故意想测试;P
军训的茶杯 发表于 2014-5-22 17:03 | 显示全部楼层
在主循环里擦写E2?你疯了么~~

E2中一般存储一些关系系统运行的重要参数,别乱搞~
 楼主| LJ_Austin 发表于 2014-5-22 17:43 | 显示全部楼层
军训的茶杯 发表于 2014-5-22 17:03
在主循环里擦写E2?你疯了么~~

E2中一般存储一些关系系统运行的重要参数,别乱搞~ ...

那放在哪里搞啊
 楼主| LJ_Austin 发表于 2014-5-22 17:44 | 显示全部楼层
军训的茶杯 发表于 2014-5-22 17:03
在主循环里擦写E2?你疯了么~~

E2中一般存储一些关系系统运行的重要参数,别乱搞~ ...

那怎么搞啊
huangxz 发表于 2014-5-22 22:31 | 显示全部楼层
LJ_Austin 发表于 2014-5-22 17:44
那怎么搞啊

就跟你编辑文件想存盘的时候在搞一下
军训的茶杯 发表于 2014-5-23 09:28 | 显示全部楼层
LJ_Austin 发表于 2014-5-22 17:44
那怎么搞啊

我们以前一般的方法是,
开机时候,第一次把E2的参数读出来,在内存中运行。
如果参数发生了修改,可以通过CRC校验判断,再写E2。
而且,大的数据,不放在E2中,可以放flash。
E2中的数据如果很重要,最好有备份区,万一参数修改错误或者写入失败,要能还原。
dingsujie 发表于 2014-5-23 16:43 | 显示全部楼层
楼上所言很对
 楼主| LJ_Austin 发表于 2014-5-24 09:09 | 显示全部楼层
wuxihuaxin 发表于 2014-6-2 13:17 | 显示全部楼层
可以修改后再写,或检测到断电靠电容存的一点电写。
ningling_21 发表于 2014-6-3 20:46 | 显示全部楼层
void eeprom_write(uint  adr, uchar dat)
{
    while(EECR&0X02);        //等待上一次写入完成
        EEAR = adr;
        EEDR = dat;                        //装载数据
        EECR |=0X04;                //
        EECR |=0X02;                //启动写操作
}

MEGA128芯片。。。
数据怎么写不进去。。。
叶zi 发表于 2015-7-30 14:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

153

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部