解决arduino IDE ESP32 硬件看门狗设置与喂狗失败问题 以及看门狗 Task Watchdog Timer 相关设置方法

解决arduino IDE ESP32 硬件看门狗设置与喂狗失败问题 以及 看门狗定时器(TWDT) Task Watchdog Timer 相关设置方法


前言

解决arduino IDE ESP32 硬件看门狗设置与喂狗失败问题 困扰了不少ESP32的用户这里给出解决办法,以及看门狗定时器(TWDT) Task Watchdog Timer 相关设置方法


二、使用步骤

1.引入库

代码如下:

#include "soc/rtc_wdt.h"     //设置看门狗用

2.设置代码

代码如下(示例):

#include "soc/rtc_wdt.h"     //设置看门狗用

void setup() {

//ESP32看门狗设置 需要先引入 #include "soc/rtc_wdt.h" //设置看门狗用
  rtc_wdt_protect_off();     //看门狗写保护关闭 关闭后可以喂狗
  //rtc_wdt_protect_on();    //看门狗写保护打开 打开后不能喂狗
  //rtc_wdt_disable();       //禁用看门狗
  rtc_wdt_enable();          //启用看门狗
  rtc_wdt_feed();            //喂狗
  rtc_wdt_set_time(RTC_WDT_STAGE0, 7000);     // 设置看门狗超时 7000ms.
 //如果解决了您的问题与困扰 支持原创 给个赞或者打个赏,您的支持是我们进步的动力
}

3.喂狗代码使用示例

代码如下(示例):

//通过以上设置,需要关闭看门狗写保护 rtc_wdt_protect_off();  然后用这个函数进行喂狗,亲测可用

rtc_wdt_feed();    //喂狗函数 放入需要长时间执行的程序里 示例如下:

void loop() {

  //长时间执行代码示例
  while(true) {
    rtc_wdt_feed();            //喂狗
    //您的循环执行长时间的代码
    //您的循环执行长时间的代码
    //您的循环执行长时间的代码
  }
}

//如果解决了您的问题与困扰 支持原创 给个赞或者打个赏,您的支持是我们进步的动力
 

总结

通过以上设置,需要关闭看门狗写保护 rtc_wdt_protect_off(); 然后用这个函数进行喂狗,亲测可用。以上是解决看门狗复位重启的问题,可以长时间不用再loop循环,也可以不至于触发看门狗复位重启

如果解决了您的问题与困扰 支持原创 给个赞或者打个赏,您的支持是我们进步的动力

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值