遇到一个很奇怪的BUG

2019-07-20 03:59发布


这个是一个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程序,这是咋回事啊

   








}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
不良苏
1楼-- · 2019-07-20 05:43
 精彩回答 2  元偷偷看……
不良苏
2楼-- · 2019-07-20 08:14
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 12:55
仿真找问题
正点原子
4楼-- · 2019-07-20 15:25
仿真找问题

一周热门 更多>