【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