大家好,有问提求助!
程序主要是实验性质,主要是通过swh_Out这个变量来实现计时。结构大致是这样,我
用的硬件看门狗MAX713L,用p1.5做WDI输入。
我自己发现的问题是:在while循环内部,我是延时1。4s左右 再喂狗,有问题。因为我
是计时,如果在for 循环时,swh_out 为由0变1时,
我会在for执行完了才检查swh_out,会有计时的误差。
有没有方法在循环等待的同时,可以在1。6s内同时清看门狗?
我看到有的资料说 在中断中清看门狗,不是很好。况且处理中断也有计时误差。
当然还有的方法就是:做补偿,不过那是实在没法了再用的办法了。大家有没有什么好的方
法?
谢谢大家!!!!!!!!!!!!!!!!! while(!Swh_Out) {Wdt_Input=1; for(i=0;i<22;i++) delay(5000); Wdt_Input=0;
}; TR1=1; delay(60000);
TR1=0;
|