从本质上而言看门狗就是一定时器,定时器一启动就一直运行除非硬件复位或软件关闭,定时到一定时间自动的益出使系统复位,如65536US益出,则对单片机复位,系统重新运行,所以我们编程时一定要小于65MS时重置定时器的初值(喂狗),喂狗也不能太频繁,这样降低了CPU的工作效率,一般时间留20-30%的余量。看门狗也没办法使程序不跑飞,只是程序跑飞后能重新启动不至于死机而已。
看门狗复位就跟按复位按钮一样,程序重头运行,你控制不了的。要实现你的目标,只能防止看门狗不运行,即程序不死机。或者也有其他的技巧,如第一次运行设置一个标志存储于eeprom中,下次启动读取该标志表明是第二次或看门狗复位引起就忽略led点亮指令。
就是个定时器,不断接收程序发给的信号,没有信号时就走表,如果指定时间过了(溢出),就关闭超时程序,没什么难的
晕,抄我得答案:(
http://zhidao.baidu.com/question/15640932.html?si=3
http://www.chinesebloger.com
http://zhidao.baidu.com/question/15640932.html?si=3