[AVR单片机] Atmega1281重新编译后eeprom数据时怎样的

[复制链接]
 楼主| 徐明明6624 发表于 2013-3-2 11:45 | 显示全部楼层 |阅读模式
Atmega1281重新编译后eeprom数据是怎样的?我在eeprom开头处存了一个long型数据,上电时需要根据这个long型数据是否改变,判断是进行变量初始化还是读取eeprom保存的数据。我的理解是重新编译后,eeprom数据应该是清除了,为什么重新编译后上电,从eeprom读数据时,这个位置读出的long型数据跟我存的一致?
yklstudent 发表于 2013-3-2 12:10 | 显示全部楼层
编译不能改变eeprom内的数据  除非你去写或者擦除eeprom了

评分

参与人数 1威望 +1 收起 理由
徐明明6624 + 1 是的

查看全部评分

 楼主| 徐明明6624 发表于 2013-3-2 15:00 | 显示全部楼层
谢谢
 楼主| 徐明明6624 发表于 2013-3-2 16:31 | 显示全部楼层
追问一下,我现在在调试程序,需要在程序第一次运行时初始化eeprom中数据,后来上电时读取eeprom数据。重新编译后如果eeprom那个long数据不能被清除,那我也没法初始化eeprom中其他数据。有什么方法可以解决吗?
奔三 发表于 2013-3-2 17:03 | 显示全部楼层
编译不能改变eeprom内的数据  除非你去写或者擦除eeprom了
yklstudent 发表于 2013-3-2 17:22 | 显示全部楼层
在eeprom中设个标志 上电直接读取这个eeprom地址
if ADDRESS=0XFF
   则。。。
else
   ADDRESS = 0x01
这样应该能满足你的要求了吧

评分

参与人数 1威望 +2 收起 理由
qin552011373 + 2 很给力!

查看全部评分

421924538 发表于 2013-3-3 21:35 | 显示全部楼层
编译不会有影响,重新下载是如果是EESAVE已编程的话,就不会擦除,否则会擦除EEPROM的数据

评分

参与人数 1威望 +1 收起 理由
徐明明6624 + 1 谢谢 这个方法就可以达到我想要的效果 通过.

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

23

帖子

0

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

12

主题

23

帖子

0

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