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