Arduino框架下 ESP32 rtc看门狗使用示例
- 📍官方文档参考:
https://docs.espressif.com/projects/arduino-esp32/en/latest/api/timer.html - 📌相关篇《Arduino ESP32 看门狗定时器》
📘esp32 看门狗简介
- 在ESP-IDF支持以下类型的看门狗定时器:
- 🌿中断看门狗定时器 (IWDT)
- 🌿任务看门狗定时器 (TWDT)
- 🌿XTAL32K 看门狗定时器 (Crystal 32K 看门狗定时器,即 XTWDT)
- ✨本篇介绍的,应该属于Crystal 32K 看门狗定时器 (XTWDT),
- 🔖测试对象,开发板型号为:
ESP32 DEVKIT V1-DOIT




- 板载led灯
GPIO 2 ----led
📘示例代码
当前示例代码编译基于固件版本:
2.0.4
- 🔖本示例不需要安装第三方库,但是需要引用对应的核心库当中的头文件才行。
//ESP32 rtc看门狗设置 需要先引入
#include "soc/rtc_wdt.h" //设置rtc看门狗用
#define led 2
void setup() {
Serial.begin(115200);
pinMode(led, OUTPUT);
rtc_wdt_protect_off(); //看门狗写保护关闭 关闭后可以喂狗
//rtc_wdt_protect_on(); //看门狗写保护打开 打开后不能喂狗
//rtc_wdt_disable(); //禁用看门狗
rtc_wdt_enable(); //启用看门狗
rtc_wdt_set_time(RTC_WDT_STAGE0, 8000); // 设置看门狗超时 8000ms.则reset重启
}
void loop() {
while(true) {
rtc_wdt_feed(); //喂狗函数
//用户代码
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
Serial.println("Perseverance52");
}
}

757

被折叠的 条评论
为什么被折叠?



