1:主要性能
(1)时钟由独立的RC振动器供给
(2)自在运转的递减计数器
(3)看门狗被激活,则在计数器至0x000时发生复位
2:寄存器了解
(1)键寄存器(IWDG_KR)中写入0XCCCC,开端发动独立看门狗,计数值由复位
(2)0XFFF递减计数,当计数器到结尾0X000时,发生一个复位信号。
(3)键寄存器(IWDG_KR)中写入0XAAAA,IWDG_RLR中的值会从头加入到计数器。便是清狗。
IWDG_PR(8bits预分频寄存器)和IWDG_RLR(12bits)具有写保护功用,想修正这个寄存器,IWDG_KR寄存器写入0X5555。
作业原理框图
时钟来历是LSI内部RC振动40KHZ不安稳30~60KHZ,对时钟的安稳性要求较低的场合。


12位IWDG_RLR重装载数值0X000-0XFFF,若修正,有必要等候IWDG_SR寄存器中的RVU为0。
3位PR[2:0]有必要等候PVU为0时,才干修正IWDG_PR寄存器中的数值。
PVU即看门狗预分频更新prescaler value update
RVU即看门狗重装载值更新reload value update
寄存器如下:
程序如下:来自正点原子@ALIENTEK开发板
//初始化独立看门狗
//prer:分频数:0~7(只要低3位有用!)
//分频因子=4*2^prer.但最大值只能是256!
//rlr:重装载寄存器值:低11位有用.
//时刻核算(大约):Tout=((4*2^prer)*rlr)/40 (ms).
void IWDG_Init(u8 prer,u16 rlr)
{
IWDG->KR=0X5555;//使能对IWDG->PR和IWDG->RLR的写
IWDG->PR=prer;//设置分频系数
IWDG->RLR=rlr;//从加载寄存器IWDG->RLR
IWDG->KR=0XAAAA;//reload将重装载值放入计数器,然后防止从0XFFF开端
IWDG->KR=0XCCCC;//使能看门狗
}
//喂独立看门狗
void IWDG_Feed(void)
{
IWDG->KR=0XAAAA;//reload
}