软件复位之后是不是所有变量都为0了?

我想设置某个变量为一特定值,然后软件复位,根据这个值判断进入到特定的程序执行。但是我发现软件复位之后,值回到了0,有没有办法让这个我设定的值在复位之后不变

可以定义一个变量放在RAM中,并指定一个绝对地址,芯片执行复位时,RAM的值不会被复位,可以根据这个实现你要的功能。



就是觉得放在FLASH操作比较麻烦,因为我在FALSH还要存放其他东西,这样一来,就要先读出来,再写进去


如果变量是一个8位数据,可以复位前存放在复位保持寄存器R8_GLOB_RESET_KEEP中,该寄存器值不受手动复位、软件复位、看门狗复位或者普通唤醒复位的影响,复位后读出来即可。


可以定义一个变量放在RAM中,并指定一个绝对地址,芯片执行复位时,RAM的值不会被复位。


是定义在这些位置吗?SharedScreenshot.jpg


这样写尝试一下:

1.png


只有登录才能回复,可以选择微信账号登录