打印

单片机复位以后,

[复制链接]
3508|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a5566255|  楼主 | 2008-11-18 17:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hotpower| | 2008-11-18 19:01 | 只看该作者

只要方法对,一般全局和静态变量可以保留

使用特权

评论回复
板凳
lyjian| | 2008-11-18 20:37 | 只看该作者

看具体MCU规格书

使用特权

评论回复
地板
耕在此行| | 2008-11-18 20:41 | 只看该作者

复位以后 啥都没了

只有你的程序还会在>

使用特权

评论回复
5
hotpower| | 2008-11-18 20:43 | 只看该作者

只要不掉电,面包会有的~~~

使用特权

评论回复
6
zhaiht| | 2008-11-18 20:47 | 只看该作者

一般来说

  一般来说,复位后,寄存器的数据都是初始值吧。
  但是我发现,虽然说ram中的值掉电后数据丢失,但是有时还是上次的数值。有了解的的帮忙解释一下
  谢谢

使用特权

评论回复
7
a5566255|  楼主 | 2008-11-18 20:56 | 只看该作者

再具体点,比如AT89C52

它能保留多少数据?发现复位前我在一个while(1)循环中,复位后还在里面(甚至可能还在其中一个if中)。。。。。。。。。。。

使用特权

评论回复
8
一级菜鸟| | 2008-11-18 21:06 | 只看该作者

规格书里没有写明非易失的,都视为掉电丢失

7楼的描述是根本没有复位或者复位后程序依然跑到相同位置。

使用特权

评论回复
9
NE5532| | 2008-11-18 21:52 | 只看该作者

看写的是C还是汇编

C编译器上电有时候要清空存储区,全部清为0x00,汇编清不清权利在你自己。

使用特权

评论回复
10
天雨粟| | 2008-11-18 21:59 | 只看该作者

如果掉电后,RAM中的数还能保留

哪还要EEPROM芯片干吗?掉电后RAM中的数应视为随机数。
如果程序中有启动代码,上电后,一般也是将内存强制清零了!

使用特权

评论回复
11
NE5532| | 2008-11-18 22:02 | 只看该作者

楼上看走眼了,楼主点的题是“复位”,不是“掉电”

使用特权

评论回复
12
a5566255|  楼主 | 2008-11-18 22:25 | 只看该作者

我用C写的,

经提示,一般说“掉电”后RAM丢数,那没掉电的复位操作应该不会掉数吧,SFR中的设置应该也不会变吧?

使用特权

评论回复
13
ljm810010| | 2008-11-18 22:34 | 只看该作者

LS的,9楼NE5532已给你满意答复了

使用特权

评论回复
14
NE5532| | 2008-11-18 22:41 | 只看该作者

C清不清看编译器设置。

SFR复位以后有的有定值,有的没有,详见Datasheet解释。

使用特权

评论回复
15
a5566255|  楼主 | 2008-11-18 22:44 | 只看该作者

那个我不明白啊,他说的跟我说的什么关系。。。

C编译器上电有时候要清空存储区?是上电烧写时?还是C写的程序使用时,当遇到复位有时会不保存?还是“有时”,那哪些时候呢?
汇编怎么个由自己决定法?

使用特权

评论回复
16
原野之狼| | 2008-11-18 22:45 | 只看该作者

9楼正解

使用特权

评论回复
17
a5566255|  楼主 | 2008-11-18 22:53 | 只看该作者

呀,你们不能这么欺负我菜啊

只想有个简单省事的说法。。。。。。。。。

使用特权

评论回复
18
天雨粟| | 2008-11-18 23:41 | 只看该作者

应该属于热启动,嗯

RAM中会怎样?
为什么会热启动?有什么异常发生?书上好像有一句话,系统因干扰复位后,“一般均会使RAM中的数据遭受程度不等的破坏”。

使用特权

评论回复
19
NE5532| | 2008-11-19 13:14 | 只看该作者

这样给你说吧

C编译器可能在启动代码里自动插入“内存清除程序”,想知道细节的,看反汇编代码就清除了。

使用特权

评论回复
20
a5566255|  楼主 | 2008-11-19 13:31 | 只看该作者

噢,是这样啊~~

我的C里没有那种程序(偶从不让让加除我自己写的以处的什么启动程序)。。。
我只想谈最简单的那种情况,高手把它复杂化了。。。。
现在看来2楼关于RAM的讨论已经很全很对了。。。。。。。
那SFR里呢?应该也在吧?
也就是说复位操作的作用仅仅是让程序从头开始运行?

使用特权

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

本版积分规则

36

主题

218

帖子

1

粉丝