STM32 窗口看门狗中的喂狗 *** 作具体是指什么

STM32 窗口看门狗中的喂狗 *** 作具体是指什么,第1张

是指清空看门狗计数器

看门狗实际上就是一个定时计数器,用来防止程序发生意外而设置的一个监测装置,只要看门狗功能打开,看门狗计数器的计数值是会不停的增加,程序正常运行时,需要在看门狗计数器达到最大值之前(就是看门狗最大计数时间之内)将其清空,使其重新开始计数,这就是“喂狗”。

如果程序跑飞,或者发生什么意外状况,而使得“喂狗” *** 作不能正常进行,看门狗计数器会不断增加,直到溢出,然后单片机复位,从而避免单片机跑飞以后失控而导致死机。

主程序一般有个无限循环while(1){...}

WDT初始化程序应该放在这个循环的前面;

喂狗程序一般放在这个循环内部。如:

void main(void)

{

//其他初始化程序...

Init_WDT

while(1)

{

Feed_Dog

//doing your jog

}

}

一种方法是在delay里面喂,这种方法很适用,一劳永逸。第二种就是delay的实参减小,多次调用delay,调用中间进行喂狗,这种比较麻烦。

书上也有说错的时候。还是根据实际情况来。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11724947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存