待机与软件重启求教

2019-12-27 18:59发布


本帖最后由 onev 于 2017-5-23 13:17 编辑


用STM32F7和STM32F0做了这样一个实验:
伪代码:
  1. GPIO_Init();
  2. ReadFlash();//读flash得到status状态
  3. led1_on();//
  4. delay(3000);//延时久一点 3s
  5. if(status == 0)
  6. {
  7.       led2_on();//led2开启 便于观察
  8.       delay(10);//延时时间意思一下 便于看到灯的变化
  9.       status = 1;
  10.       WriteFlash();//将status写入flash
  11.       SystemReset();//软件方式重启系统
  12. }
  13. else if(status == 1)
  14. {
  15.       led3_on();//led3开启 便于观察
  16.       delay(10);//延时时间意思一下 便于看到灯的变化
  17.       status = 0;
  18.       WriteFlash();//将status写入flash
  19.       StandbyMode();//进入待机
  20. }
复制代码
待机唤醒唯一的不同之处是F7用的PC13,F0用的PA0。应该不会有什么影响。
问题描述:1.按一下按键,两个系统都按预期运行,首先灯1亮3s,然后灯2闪一下,然后3s后灯3闪一下全部熄灭进入待机。这是正常状态。
                2.按下按键且按住不放,F7的系统如上现象正常。F0的系统会不停的唤醒系统。
为什么按着按键不放F0的系统就不停的唤醒呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。