这个是一个boot程序
int main(void) { int32u n;
n = RTC_ReadBackupRegister(BKP_1); 读取备份寄存器中的值
if(n< 2) {
进入APP程序;
}
初始化函数;
RTC_WriteBackupRegister(BKP_1,0); //对该寄存器清零
for(;;) {
boot升级程序函数;
}
当n在APP函数中被累计到2时,手动断电再上电 ,发现程序在main中由于n不小于2跳过了进APP程序,执行寄存器清零,却没进for循环中,而是n =0,又去执行了进APP程序,这是咋回事啊
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>