iwdg.h
#ifndef __IWDG_H
#define __IWDG_H
#include "sys.h"
void IWDG_Init(u8 prer,u16 rlr);
#endif
iwdg.c
#include "stm32f10x.h"
#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 "stm32f10x.h"
#include "iwdg.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "usart.h"
int main(void){
LED_Init();
delay_init();
KEY_Init();
uart_init(115200);
delay_ms(500);//让人看得见灭
IWDG_Init(4,625);//预分频系数为4(预分频因子为64),重装载值为625,tout=1秒=625(次)/(40/64)次每毫秒
LED0=0;//点亮LED0
while(1)
{
if(KEY_Scan(0)==WKUP_PRES)
{
IWDG_ReloadCounter();
}
delay_ms(10);
}
}