ESP32在ESP-IDF环境下禁用看门狗

最近使用了一款ESP32的开发板。但在调试时发现出现许多看门狗复位事件:

E (8296) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:

E (8296) task_wdt:  - IDLE (CPU 0)

E (8296) task_wdt: Tasks currently running:

E (8296) task_wdt: CPU 0: sd_run_task

E (8296) task_wdt: CPU 1: IDLE

E (8296) task_wdt: Print CPU 0 (current core) backtrace

在乐鑫官网上查询,发现有三种看门狗:

  • 硬件看门狗定时器

  • 中断看门狗定时器 (IWDT)

  • 任务看门狗定时器 (TWDT)

其中的硬件看门狗列出了代码禁用方法,但暂时没有找到代码需要包含哪个头文件。因此暂时无法禁用硬件看门狗。

而输出的调试信息显示应该是任务看门狗,但在示例代码中也暂时没有找到显示声明和启用的代码。因为官网提供了任务看门狗的初始化等代码,打算加入看门狗喂狗代码,以防止看门狗复位。

但根据示例加入后,编译能通过,但运行时提示看门狗已初始化。此路也不通。

再次阅读资料,发现看门狗都可以通过宏定义来禁用。

考虑到ESP-IDF的配置都可以通过SDKConfig来配置,双击SDKConfig文件,在弹出的配置界面中仔细查找后找到以下信息:

把这两项与看门狗的配置项全部取消对勾后,保存,编译,运行,task_wdt的错误提示不再出现。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值