STM32
直播中

杨梅

7年用户 231经验值
私信 关注
[问答]

请问如何对一个变量进行断电保护?

答案可以是写入FLASH保存起来?
例:对全局变量a进行断电保护
//第一次开机的初始化:
init1()
{a=0; a写入FLASH某固定地址; }
且每次改变a后更新到该FLASH固定地址处
//非第一次开机的初始化
inti2()
{FLASH该固定地址数据读给a;}
但是!!!如何判断是第几次开机?中间是否有断电?还是我的思想或者编程思路有误?
求解原子哥和各路大侠。

回帖(4)

陈英

2020-6-9 16:50:36
可以用2个变量.
a,用来标识是否第一次开机.
b,用来记录开机次数.
第一次开机,a的值一般为0XFF,那么我规定a=0X55即为第一次开机过了.同时设置b=1.
第二次开机的时候,a已经为0X55了,只需要简单的对b增1即可.
第三次,继续b++;
....
第N次开机,b的值就是N.(当然b最好设置为u16或者u32类型的,u8的只能记录255次...)
举报

吴银红

2020-6-9 16:58:44
都设置成上下拉输入模式,万用表测得PA和PC IO口的电压不一样?何解?IO口PAPBPCPD各有什么不同?
举报

h1654155275.5954

2020-6-9 17:16:44
PC13...15有区别,其他相同.具体看DS.
举报

李梓

2020-6-9 17:25:39
结合原理图看。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分