“线程:C2000WARE”中讨论的其它部件
您好,
我对看门狗计时器有疑问。 我有下面的设置寄存器,但我的设置有点混乱。 在以下寄存器设置中,看门狗是启用还是禁用的,是吗?
无效 InitWatchd(无效)
{
ASM(" EALLOW "); //启用 EALLOW 保护寄存器访问
//--禁用监视程序计时器
WdRegs.WDCR.ALL = 0x0068;
//第15-70位 : 保留
//位6 1: WDDIS,1=禁用 WD
//位5-3 101: WDCHK,WD 校验位,始终写入101b
//位2-0 000 : WDPS,WD 预页位,000:WDCLK=OSCCLK/512/1
//--系统和控制寄存器
WdRegs.scSR.all = 0x0000;
//第15-3位 : 保留
//位2 0: WDINTS,WD 中断状态位(只读)
//位1 0: WDENINT,0= WD 导致重置,1= WD 导致 WDINT
//位0 : WDOVERRIDE,写入1以禁用 WD (只清除)
WdRegs.WDWCR.All = 0x0000;
//第15-9位 : 保留
//位8 0: FIRSTKEY (只读)
//位7-0 0x00: 最小,最小保养间隔- 0x00不最小
ASM(" EDIS"); //禁用 EALLOW 保护寄存器访问
//--启用监视程序中断
PieCtrlRegs.PIEIER1.Bit.INTx8 =1; //在 PIE 组#1中启用 WAKEINT (LPM/WD)
IER |= 0x0001; //在 IER 中启用 INT1以启用 PIE 组1
}// InitWatchd()结束