void ClrWdog(void) { EALLOW; SysCtrlRegs.WDKEY = 0x0055; SysCtrlRegs.WDKEY = 0x00AA; EDIS; }
void Disable_Wdog(void) { EALLOW; SysCtrlRegs.WDCR=0x0068; EDIS; }
void Enable_Wdog(void) { EALLOW; SysCtrlRegs.WDCR=0x002F; EDIS; } 看门狗程序如上,每20毫秒喂一次狗,在RAM运行正常,在FLASH运行(FLASH已经加速)就不断复位! 另:书上说读取WDCNTR时返回的是WDCR的值,我读的结果看上去就是WDCNTR的值。晶体30M,设置WDCR=0x2F,读取的值是19或18;设置WDCR=0x2E,读取的值是37或36;设置WDCR=0x2D,读取的值是74或73;设置WDCR=0x2C,读取的只是147或146;设置WDCR=0x2B就不断复位了。 |