Giỏ hàng
Danh mục sản phẩm

Lập Trình Watchdog Timer ESP32

Đăng bởi Trần Văn Bùi ngày bình luận

Lập Trình Watchdog Timer ESP32 
Hôm nay mình giới thiệu Watchdog timer
Đầu tiên Tại sao lại dùng Watchdog timer cho ESP32 ?
Câu trả lời trong hệ thống công nghiệp các hệ thống đòi hỏi chạy 24/24 Và đảm bảo sự hoạt động liên tục .
Đối với các nhiễu điện từ ,nhiễu tĩnh điện làm treo hệ thống .
Watchdog Timer ESP32  Có tác dụng khôi phục hệ thống khi bị treo .
Các bạn tham khảo code sau 
Các bạn thử bỏ hàm esp_task_wdt_reset(); Hệ thống sẽ reset liên tục là Watchdog Timer đã hoạt động

#include <esp_task_wdt.h>

//3 seconds WDT

#define WDT_TIMEOUT 3

void setup() {

Serial.begin(115200);

Serial.println("Configuring WDT...");

esp_task_wdt_init(WDT_TIMEOUT, true); //enable panic so ESP32 restarts

esp_task_wdt_add(NULL); //add current thread to WDT watch

}

int i = 0;

int last = millis();

void loop() {

// resetting WDT every 2s, 5 times only

if (millis() - last >= 2000 && i < 5) {

Serial.println("Resetting WDT...");

esp_task_wdt_reset();

last = millis();

i++;

if (i == 5) {

Serial.println("Stopping WDT reset. CPU should reboot in 3s");

}

}

}

Cảm ơn các bạn đã ghé thăm shop .

Cũ hơn Mới hơn