1. 看门狗时钟
看门狗时钟发生器:WDCLK = CLKOUT/512,当HALT时停止。6-bits预定标WDPS选择:将WDCLK再分频后送给看门狗定时器。WDPS为WDCR的2~0 位。
其6-bits配置作用如下:
000 WDCLK=OSCCLK/512/1;
001 WDCLK=OSCCLK/512/1;
010 WDCLK=OSCCLK/512/2;
011 WDCLK=OSCCLK/512/4;
100 WDCLK=OSCCLK/512/8;
101 WDCLK=OSCCLK/512/16;
110 WDCLK=OSCCLK/512/32;
111 WDCLK=OSCCLK/512/64;
2. 看门狗系统控制和状态寄存器(SCSR)
高13位均保留,只控制低3位:
3. 看门狗计数寄存器(WDCNTR)
计数器WDCNTR:低8位为计数器,当低8位溢出时,产生一个复位信号。此寄存器为只读寄存器。
4. 看门狗重启管理器(WDKEY)
利用软件定时向看门狗复位控制寄存器WDKEY写“0x55+0xAA”序列,即可以复位看门狗计数器:
void ServiceDog(void)
{
EALLOW;
SysCtrlRegs.WDKEY = 0x0055;
SysCtrlRegs.WDKEY = 0x00AA;
EDIS;
}
看门狗重启管理器(WDKEY)的低8位参与控制,只有先写入55h后写入AAh后重启看门狗计数器。不是此顺序写入55h或AAh,则无效。写入其他数值时则产生复位信号。
5. 看门狗控制寄存器(WDCR)
看门狗检测位WDCHK:需要向WDCHK(2~0)写1、0、1,写其他任何值都会引起器件内核的复位(看门狗已经使能),此检测位执行读操作将返回0、0、0.