/* 功能:看门狗初始化 入口:无 出口:无 */ void WDT_Init(void) { WDTC|=0x80;//------------------Enable wdt WDTC|=0x04; WDTC&=0xFD; WDTC|=0x01;//------------------Setup 300ms } /* 功能:复位看门狗 入口,出口:无 */ void RestWDT(void) { WDTC|=0x40;//----------------Reset WDT } /* */ void DelayXms(INT8U Size) { DelayCnt=0; while(DelayCnt<Size){ RestWDT(); } }
上面是我的一段程序,我现在有个疑问就是:我的这个延时程序是不是不能在主循环程序和中断程序里面调用啊?我试了试,结果是:该循环的地方没循环,去掉之后就ok了,是什么原因啊?帮忙解释一下,多谢! |