[STM8] 请问下 STM8 如何阻止复位RAM被清0

[复制链接]
5369|11
 楼主| w67599 发表于 2013-1-3 20:40 | 显示全部楼层 |阅读模式
本帖最后由 w67599 于 2013-1-6 10:29 编辑

执行main之前的函数请问在哪?头文件里面吗?可以说下哪个位置吗
明月小厨 发表于 2013-1-3 23:00 | 显示全部楼层
都掉电了RAM里还会有数据吗?
触觉的爱 发表于 2013-1-4 11:01 | 显示全部楼层
在电路中处理好不出现意外掉电的情况就行了

比如MCU供电部分串入一个二极管,并加入一个大容量电容储能,这样与其它电路离,当瞬间掉电时,还能撑一下。
buaaszb 发表于 2013-1-4 14:02 | 显示全部楼层
复位后,会自动清零变量。若不想变量被清零,可将变量申请在_noinit区域。
hlzhang 发表于 2013-1-5 14:48 | 显示全部楼层
有个option选项里面找到run to main,你不要勾它即可。
拿起书本 发表于 2013-1-5 19:54 | 显示全部楼层
main函数执行之前,主要就是初始化系统相关资源
明月小厨 发表于 2013-1-5 20:16 | 显示全部楼层
一旦系统电压降到一定的程度,内部RAM的数据就被破坏了;和上电是否初始化无关;
上面有兄弟说的对;
1)加在电容的容量,能短暂续能维持;即使用超大电容,续能维持的时间也很有限(0.1秒级别);除非你工作在低功耗状态;
2)把数据存到备份域;用电池维持;
3)如果不用电池,可以用电容维持;但在小心VBAT端的就算是给104这样的小电容充电都是危险的;:)
明月小厨 发表于 2013-1-5 20:19 | 显示全部楼层
本帖最后由 明月小厨 于 2013-1-5 20:20 编辑

main前的执行函数是;Sysinit()就是;
 楼主| w67599 发表于 2013-1-6 10:35 | 显示全部楼层
本帖最后由 w67599 于 2013-1-6 10:38 编辑
明月小厨 发表于 2013-1-5 20:19
main前的执行函数是;Sysinit()就是;


请问下是在哪个文件下这个函数 我想找到他  不是上电复位的话 RAM不清0
jw5200545 发表于 2014-4-14 07:33 | 显示全部楼层
怎么就没结果了呢!我也是同样的问题,要求是只是上电复位的时候清零RAM,在别的复位发生时候,不清零RAM,应该怎样阻止对RAM清零。急。。。。求高手。。。。在线等!
 楼主| w67599 发表于 2014-5-8 15:11 | 显示全部楼层
jw5200545 发表于 2014-4-14 07:33
怎么就没结果了呢!我也是同样的问题,要求是只是上电复位的时候清零RAM,在别的复位发生时候,不清零RAM, ...

设置标志位 然后判断标志位 进入热启动前的工作状态   RAM清0的语句基本是软件自己本身有的 看你用什么编译软件了 不同软件地方不同
汉之云 发表于 2014-5-8 17:30 | 显示全部楼层
要看中断向量表。如果是cosmic的话是_stext,从_stext到main就是编译器启动文件,初始化也在里面,可以替换为你需要对热启动特别处理的程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

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