①iwdg.h:
#ifndef iwdg_h
#define iwdg_h
#include"sys.h"
void iwdg_init(u8 prer,u16 rlr);
#endif
②iwdg.c:
#include “iwdg.h”
void iwdg_init(u8 prer,u16 rlr)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //取消写保护
IWDG_SetPrescaler(prer); //设置分频系数
IWDG_SetReload(rlr); //设置重装载值
IWDG_ReloadCounter(); //喂狗
IWDG_Enable(); //使能看门狗
}
③ main:
#include “led.h”
#include “delay.h”
#include “key.h”
#include “sys.h”
#include “beep.h”
#include “iwdg.h”
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //LED端口初始化
KEY_Init(); //初始化与按键连接的硬件接口
BEEP_Init(); //初始化蜂鸣器端口
delay_ms(200);
iwdg_init(4,625); //1s
LED0=0;
while(1)
{
if(KEY_Scan(0)==(WKUP_PRES)||KEY_Scan(0)==(KEY0_PRES))
//如果按键按下,则喂狗。
IWDG_ReloadCounter(); // if(KEY_Scan(0)==WKUP_PRES)
// IWDG_ReloadCounter();
// if(KEY_Scan(0)==KEY0_PRES)
// IWDG_ReloadCounter();
}
}