运用前须知:
1、IWDG所用计时时钟是不稳定的(35-60KHZ),通常取40KHZ计算.
对以下代码段,定时时间为:T=prer/40000*rlr,单位是S
void watchdogInit(uint8_t timeoutS)//宏
{
uint8_t prer = 4;
uint16_t rlr = timeoutS * 625;
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); /* 使能对寄存器IWDG_PR和IWDG_RLR的写操作*/
IWDG_SetPrescaler(prer); /*设置IWDG预分频值:设置IWDG预分频值*/
IWDG_SetReload(rlr); /*设置IWDG重装载值*/
IWDG_ReloadCounter(); /*按照IWDG重装载寄存器的值重装载IWDG计数器*/
IWDG_Enable(); /*使能IWDG*/
}