我想设置某个变量为一特定值,然后软件复位,根据这个值判断进入到特定的程序执行。但是我发现软件复位之后,值回到了0,有没有办法让这个我设定的值在复位之后不变
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU
我想设置某个变量为一特定值,然后软件复位,根据这个值判断进入到特定的程序执行。但是我发现软件复位之后,值回到了0,有没有办法让这个我设定的值在复位之后不变
可以定义一个变量放在RAM中,并指定一个绝对地址,芯片执行复位时,RAM的值不会被复位,可以根据这个实现你要的功能。
就是觉得放在FLASH操作比较麻烦,因为我在FALSH还要存放其他东西,这样一来,就要先读出来,再写进去
如果变量是一个8位数据,可以复位前存放在复位保持寄存器R8_GLOB_RESET_KEEP中,该寄存器值不受手动复位、软件复位、看门狗复位或者普通唤醒复位的影响,复位后读出来即可。
可以定义一个变量放在RAM中,并指定一个绝对地址,芯片执行复位时,RAM的值不会被复位。
是定义在这些位置吗?
这样写尝试一下: