【iCore1S 双核心板_ARM】例程六:WWDG看门狗实验——复位ARM

实验原理:

  STM32内部包含窗口看门狗,通过看门狗可以监控程序运行,程序错误

时,未在规定时间喂狗,自动复位ARM。本实验通过按键按下,停止喂狗,

制造程序运行 错误,从而产生复位 。  

实验现象:

  iCore1S双核心板三色LED交替闪烁,当按键按下超过1s,看门狗复位ARM。

核心代码:

int main(void)
{    
    int i;    
    for(i = 0;i < 10000; i++)
  
    system_clock.initialize();               
    led.initialize();
    key.initialize();
    wwdg.initialize();
    LED_RED_ON; 

    while(1){
        if(!KEY_INPUT){                          //按键按下,开始喂狗
        HAL_Delay(100);
      HAL_WWDG_Start_IT(&hwwdg);//ι¹·
        wwdg.feed_dog(&hwwdg);
        }
    }
}
static int initialize(void)
{
  hwwdg.Instance = WWDG;
  hwwdg.Init.Prescaler = WWDG_PRESCALER_8;               //设置预分频值
  hwwdg.Init.Window = 90;                                    //设置窗口值
  hwwdg.Init.Counter = 127;                                  //设置计数器初值
  HAL_WWDG_Init(&hwwdg);

  return 0;
}

源代码下载链接:

链接:http://pan.baidu.com/s/1dFxk4Dz 密码:oqyi

原文地址:https://www.cnblogs.com/xiaomagee/p/7135840.html