ESP32_看门狗程序

1、看门狗与作用

我们有时会碰到电脑死机的情况 ,这时需要人工进行重启。但MCU也会有死循环的时候。这个时候需要对MCU进行重启,或是执行特殊的操作。看门狗程序就是一种监控程序 ,监测到MCU发生严重错误就向芯片发出重启信号。看门狗命令在程序的中断中拥有最高的优先级,可以防止程序在线运行时候出现死循环。

2、看门狗程序原理

看门狗的程序原理还是比较简单的。它利用一个使用系统时钟的定时器,记录程序执行的时长。当程序执行的时长超过设置的值时,会产生一个重启的命令,或是执行特殊的操作。
当程序正常执行时 ,每一个执行循环,程序都会对计时器进行复位(喂狗),使看门狗程序不会被确发。当程序陷入了死循环时,将无法执行计时器的复位操作。这样看门狗超过时间没人投喂,就会触发重启动作了。

3、看门狗程序设计

本次看门狗程序目标为:
1)设置看门狗时间启动时间为5s。
2)主程序为一个delay函数, 初始循环值为1秒,然后对计时器进行复位。每一次循环后等待时间增加1秒。
3)当循环到第5次时,复位时间要大于看门狗启动时间。看门狗将被触发。

4、看门狗程序代码

 int counter1 = 0;         //循环计时值,用于计算等待时长 
 hw_timer_t *tim1 = NULL;  //声明看门狗指针变量
 int counter1 = 0;         //循环计时
 // 中断函数
 void tim1Interrupt()
 {
   Serial.println(&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值