TI中文支持网
TI专业的中文技术问题搜集分享网站

看门狗复位是否会重新初始化全局变量

我的程序中需要用到一个常数的全局变量,因为执行时间比较严格,我希望把全局变量数组放在RAM中,所以没有把全局数组声明为const型,但我有一个担忧,就是如果看门狗复位的话,程序是否会重新初始化全局变量呢,因为在RAM中的仿真,我发现RAM中数按CPU重启,如果变量被修改过,就不会被重新初始化。

mangui zhang:1、上电复位,是为了为程序的开始作好准备,强制的所有的数据清零,它必须要从零开始。
2、看门狗复位,则是一种对意外的程序跑偏时或者死机时的拯救,不是简单的清零。

我的程序中需要用到一个常数的全局变量,因为执行时间比较严格,我希望把全局变量数组放在RAM中,所以没有把全局数组声明为const型,但我有一个担忧,就是如果看门狗复位的话,程序是否会重新初始化全局变量呢,因为在RAM中的仿真,我发现RAM中数按CPU重启,如果变量被修改过,就不会被重新初始化。

user5805327:会全部初始化的,也就是清零从头开始执行

我的程序中需要用到一个常数的全局变量,因为执行时间比较严格,我希望把全局变量数组放在RAM中,所以没有把全局数组声明为const型,但我有一个担忧,就是如果看门狗复位的话,程序是否会重新初始化全局变量呢,因为在RAM中的仿真,我发现RAM中数按CPU重启,如果变量被修改过,就不会被重新初始化。

Susan Yang:RAM的内容是不能掉电保持的,因此上电复位之后RAM里的内容是不确定的(系统寄存器占用的RAM除外),而看门狗复位并没有导致掉电,因此RAM里的内容还是以前的值(系统寄存器占用的RAM除外)。

赞(1)
未经允许不得转载:TI中文支持网 » 看门狗复位是否会重新初始化全局变量
分享到: 更多 (0)