iwdg.c

#include"iwdg.h"

void iwdg_init(uint8_t IWDG_Prescaler,uint16_t Reload)
{
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
    IWDG_SetPrescaler(IWDG_Prescaler);
    IWDG_SetReload(Reload);
    IWDG_ReloadCounter();
    IWDG_Enable();

}

iwdg.h

#ifndef __IWDG_H
#define __IWDG_H

#include "stm32f10x.h"

void iwdg_init(uint8_t IWDG_Prescaler,uint16_t Reload);


#endif

main.c

#include "exti.h"
#include "iwdg.h"


int main(void)
{
    delay_init();
    LedInit();
    Exti_Init();
    iwdg_init(4,625);//1s,看门狗超时时间
    LED0on;
    delay_ms(200);

    while(1)
    {
        if(KEY0_PRES==KEY0_PRES)
        {
            IWDG_ReloadCounter();
        }
    }
}