我的程序中需要用到一个常数的全局变量,因为执行时间比较严格,我希望把全局变量数组放在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除外)。