测试LPC2124的看门狗功能时遇到这样一个问题,主函数如下,其中延时函数DelayNS()里面有一个喂狗函数WdtFeed(),在后面的while循环里等待看门狗计数溢出复位。结果如预期一样正确。然而奇怪的是,当把延时函数DelayNS()里面的喂狗函数WdtFeed()注释掉以后,却不出现复位了,很奇怪。请知道的朋友解释一下,多谢了。
int main(void) { ... WDTC = 11059200; // 设置WDTC,喂狗重装值 WDMOD = 0x03; // 复位并启动WDT WdtFeed(); // 进行喂狗操作 for(i=0; i<8; i++) { IO0SET = 0x0000000f; DelayNS(100); IO0CLR = 0x0000000f; DelayNS(100); } IO0SET = 0x0000000f; IO0CLR = 0x00000001; while(1); }
|