/*
* Name : main
* Description : ---
* Author : ysloveivy.
*
* History
* --------------------
* Rev : 0.00
* Date : 11/21/2015
*
* create.
* --------------------
*/
int main(void)
{
int i;
for(i = 0;i < 10000000;i++);
led.initialize();
key.initialize();
iwdg.initialize();
while(1){
while(!KEY_INPUT); //按键按下进入循环,不再喂狗,1秒后灯熄灭
iwdg.feed_dog();
for(i = 0;i < 5000000;i++);
LED_RED_ON;
LED_GREEN_OFF;
LED_BLUE_OFF;
for(i = 0;i < 5000000;i++);
LED_RED_OFF;
LED_GREEN_ON;
LED_BLUE_OFF;
for(i = 0;i < 5000000;i++);
LED_RED_OFF;
LED_GREEN_OFF;
LED_BLUE_ON;
}
}
/*
* Name : initialize
* Description : ---
* Author : ysloveivy.
*
* History
* -------------------
* Rev : 0.00
* Date : 11/21/2015
*
* create.
* -------------------
*/
static int initialize(void)
{
//1s喂狗
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //取消寄存器的写保护
IWDG_SetPrescaler(4); //设置独立看门狗的预分频系数
IWDG_SetReload(625); //设置独立看门狗的重装载值
IWDG_ReloadCounter(); //重装载计数器
IWDG_Enable(); //使能独立看门狗
return 0;
}
/*
* Name : feed_dog
* Description : ---
* Author : ysloveivy.
*
* History
* -------------------
* Rev : 0.00
* Date : 11/21/2015
*
* create.
* -------------------
*/
static void feed_dog(void)
{
IWDG_ReloadCounter();
}
更多回帖