关于单片机看门狗问题
时间:10-02
整理:3721RD
点击:
哪位能告诉我一个程序,关于清零看门狗的程序,最好能够解释下,非常感谢
Main()
{ WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗。
While (1)
{
WDTRST=0x1E;
WDTRST=0xE1;//喂狗指令
}
}
上电复位是强制的所有的数据清零,而看门狗是在程序运行时设定一个时限,在这个时限内,程序一定是可以进行到低的,如果发生错误就会失控。此时看门狗启动。它的作用一般的用法是将程序计数器清零,叫程序从头重新运行。而不是像上电清零那样全面地清零!有的看门狗也可以设定一个转移地址,转去运行你设定好的处理程序。
谢谢,懂了些了,但是假设我程序是设定5秒完成,那么看门狗就必须设定大于5秒是吗?
不一定,假设你完成这段程序要5秒, 如果你看门狗复位时间小于5秒,那么在你这段程序中间就要去喂狗(也就是清空计时器), 如果你看门狗复位时间大于5秒,那么在这段程序中就不需要去喂狗。