สวัสดีครับ สำหรับใครกำลังมองหาวิธีรีเซ็ตระบบอย่างใน ESP32 ที่เคยได้ทำบทความไปแล้ว บนบอร์ดตระกูล AVR เช่น Arduino UNO, Arduino Nano, Arduino Mega 2560, Arduino Pro mini หรือบอร์ดเทียบเคียงอื่นๆ ไม่ได้มีฟังก์ชันรีเซ็ตตรงๆ บทความนี้จะสาธิต solution ง่ายๆผ่านการแปลง Watchdog function ให้ช่วยรีเซ็ตบอร์ดให้กันครับ
โดยปกติไมโครคอนโทรลเลอร์ทุกยี่ห้อจะมี watchdog ไว้ตรวจสอบการทำงานของโปรแกรมว่าค้างหรือไม่ โดยการสั่งคำสั่งให้เฝ้ามองโปรแกรมนั้นเป็นระยะเวลาค่านึง หากเกินกว่าค่านี้และไม่มีการสั่งปิดการเฝ้ามองก็จะถือว่าโปรแกรมทำเวลาเกินกว่าปกติ บอร์ดจะสั่งรีเซ็ตตัวเองโดยอัตโนมัต สำหรับรายละเอียดอื่นๆ จะขอเก็บไว้ในบทความต่อไป เพื่อความกระชับ เข้าสู่การเขียนโค้ดกันเลยครับ