打印

如何在单片机复位前保存数据?

[复制链接]
4686|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mei326|  楼主 | 2010-6-25 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HWM| | 2010-6-25 16:13 | 只看该作者
除了“软件指令复位”,“片内电源监控复位”外,其他没辙。

软件指令复位——自己知道大难临头了,自然可以预先防范啦

片内电源监控复位——检测电源(注意:检测点越向前越好)

使用特权

评论回复
板凳
chunyang| | 2010-6-25 16:19 | 只看该作者
复位而不掉电不会改变内存,如果当前需要保存的数据量不大,可在指定地址的内存段中放置需保存的数据同时设置一标志,注意该标志不能过于简单避免和随机数大量重合(可用多字节做标志),正常的数据备份后复位该标志,否则在系统重新启动后如果该标志有效则先进行数据备份或数据恢复。

使用特权

评论回复
地板
HWM| | 2010-6-25 16:23 | 只看该作者
“复位而不掉电不会改变内存”,但通常会被初始化。

使用特权

评论回复
5
chunyang| | 2010-6-25 16:27 | 只看该作者
所以要在初始化指令前先判断标志。有的MCU的部份寄存器会被内部系统初始化,标志和数据区要避免这些地址。

使用特权

评论回复
6
HWM| | 2010-6-25 16:31 | 只看该作者
呵呵,如果MCU内配置有标识复位来源的标志,则就不成其为问题了。

使用特权

评论回复
7
mei326|  楼主 | 2010-6-25 16:32 | 只看该作者
复位后属于热启动,不能修改热启动的程序运行的启示地址?检测电源有什么好的办法呢?

使用特权

评论回复
8
HWM| | 2010-6-25 16:37 | 只看该作者
方法很多,主要是检测电源的电压值是否在正常范围,超出范围则中断系统。

检测点要靠前,必须在片内电源监控复位前起作用。

使用特权

评论回复
9
mei326|  楼主 | 2010-6-25 16:47 | 只看该作者
由于我要保存的只有一个长整型数据,所以先接受春阳的方法!只是现在还没个思路,不知道如何设置内存...感觉在做这个项目的过程中学到了很多...

使用特权

评论回复
10
mei326|  楼主 | 2010-6-25 16:49 | 只看该作者
所以要在初始化指令前先判断标志。有的MCU的部份寄存器会被内部系统初始化,标志和数据区要避免这些地址。
chunyang 发表于 2010-6-25 16:27
我用的STC的MCU

使用特权

评论回复
11
chengfei21| | 2010-6-25 19:14 | 只看该作者
一般单片机都会有导致相应“异常”的标志位,在初始化时判断一下就OK了

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
szshawn2010 + 1 正解
12
liaojihua2010| | 2010-6-25 20:21 | 只看该作者
10楼,你的CPU就带这样的功能啊

使用特权

评论回复
13
mei326|  楼主 | 2010-6-25 20:40 | 只看该作者
楼上的知道怎么写不?可以Q聊不?我的443762747

使用特权

评论回复
14
yh21ic| | 2010-6-25 23:07 | 只看该作者
初始化要注意,C可能会清除所有的RAM的

使用特权

评论回复
15
xcs_1211| | 2010-6-26 10:27 | 只看该作者
可以加一个EEPROM,在复位前,使用中断,用中断程序来保存你想保存的数据。

使用特权

评论回复
16
lirunze| | 2010-6-26 18:35 | 只看该作者
大电容实现掉电保护就ok了

使用特权

评论回复
17
zjh006| | 2010-6-27 11:38 | 只看该作者
我采用的是类似chunyang的方法,标志位是需要保存数据的CHECKSUM,不管何种原因导致复位,程序一开始就检查标志位是否正常。

使用特权

评论回复
18
mei326|  楼主 | 2010-6-29 09:23 | 只看该作者
我的程序只用到了data而没有用到xdata ,我把重要数据放在xdata里,而在启动文件里把那段清零xdata 的程序去掉而其它的保留,这样就不会对其他的造成影响了.实验证明这种方法可行,但它有一个缺点就是不管是冷启动还是热启动xdata内存都不会清零!为了解决这个问题,我在初始化程序里就判断上电复位标志位,如果是冷启动我就把xdata内存清理,如果是热启动我就把数据读出来!现请大家分析下这种方法的优缺点,是否会对系统有影响...

未命名.jpg (3.95 KB )

未命名.jpg

使用特权

评论回复
19
mei326|  楼主 | 2010-6-30 18:27 | 只看该作者
楼上是高人...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:与其等待机会,不如主动出击...

117

主题

764

帖子

2

粉丝