STC单片机怎么加看门狗程序

STC单片机怎么加看门狗程序,第1张

加到While循环的最前面就可以了。

define Pre_scale_Word 0x3c//0.68s

sfr WDT_CONTR 0xc1

..................................

while(1)

{

WDT_COUNTR=Pre_scale_Word

....................................

}

看门狗及其溢出时间 = (12 * Pre_scale *32768)/Oscillator Frequency 

先根据看门狗计数器的位数 和系统的时钟周期,算一下计满数需要的时间,就是说在这个时间内看门狗计数器是不会装满的,然后在这个时间内告诉它重新开始计数,就是把计数器清零,这个过程叫喂狗 。

这样隔一段时间喂一次狗,只要程序正常运行他就永远计不满,一旦出现死循环之类的故障,没有及时来清零计数器,就会导致装满了溢出,他就重启系统,这就是看门狗的看门原理。每种单片机的看门狗实现方法不尽相同,但是原理都一样,而且看门狗都是启动了之后就不能被关闭,只能系统复位才能关闭 。

设置“看门狗”的一般步骤如下:

1、设置“看门狗”相关寄存器, 启动“看门狗”。

2、隔一段时间清零一次,“喂狗”。

3、如果程序正常,一直运行;如果程序出错,没有按时“喂狗”,“看门狗”就在溢出的时候复位系统。


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

原文地址: https://outofmemory.cn/yw/7736847.html

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

发表评论

登录后才能评论

评论列表(0条)

保存