การจัดการนาฬิกา Watchdog บน Arduino
ในด้านอิเล็กทรอนิกส์และโดยการขยายในด้านการประมวลผล หน่วยเฝ้าระวังเป็นทรัพยากรที่ช่วยให้อุปกรณ์ทางกายภาพหรือแอปพลิเคชันรีสตาร์ทเมื่อหยุดทำงานตามปกติ โดยเฉพาะหมายถึงไมโครคอนโทรลเลอร์ มันเป็นนาฬิกานับถอยหลังที่สร้างการรีเซ็ตเมื่อมันล้น
ตามตรรกะ อุปกรณ์ไม่ทราบว่าเมื่อใดหยุดทำงานอย่างถูกต้อง หลักการทำงานคือการป้องกันไม่ให้การนับถอยหลังสิ้นสุดและระบบจึงรีเซ็ต ในการดำเนินการนี้ ขั้นแรกให้กำหนดค่าช่วงเวลาที่การรีสตาร์ทเกิดขึ้น และประการที่สองค่านี้จะถูกรีเฟรช ซึ่งแสดงว่าอุปกรณ์ทำงานอย่างถูกต้องและไม่ควรรีสตาร์ทในขณะนี้
เพื่อบริหารจัดการสุนัขเฝ้าบ้านด้วย แพลตฟอร์มฮาร์ดแวร์ ควรใช้ห้องสมุด และมีเพียงสามฟังก์ชันเท่านั้น: เพื่อปิดการใช้งานในขณะที่กำหนดเวลารีเซ็ต ที่กำหนดค่าและเปิดใช้งานโปรแกรมเฝ้าระวังในเวลาที่ระบุเป็นพารามิเตอร์ (เวลา) และ ซึ่งจะต่ออายุช่วงเวลาที่สุนัขเฝ้าบ้านนับ
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <avr/wdt.h> // Incluir la librería que contiene el watchdog (wdt.h)
void setup()
{
wdt_disable(); // Desactivar el watchdog mientras se configura
wdt_enable(WDTO_2S); // Configurar a dos segundos
}
void loop()
{
wdt_reset(); // Actualizar el watchdog para que no produzca un reinicio
}
|
ค่าคงที่ที่สามารถใช้ได้กับ
เพื่อตั้งเวลานับถอยหลังคือ:- = 15 มิลลิวินาที
- = 30 มิลลิวินาที
- = 60 มิลลิวินาที
- = 120 มิลลิวินาที
- = 250 มิลลิวินาที
- = 500 มิลลิวินาที
- = 1 วินาที
- = 2 วินาที
- = 4 วินาที
- = 8 วินาที
ก่อนที่จะใช้โปรแกรมเฝ้าระวัง สิ่งสำคัญคือต้องแน่ใจว่า บูตโหลดเดอร์ ไมโครคอนโทรลเลอร์บนบอร์ดมีอะไรบ้าง? แพลตฟอร์มฮาร์ดแวร์ ที่กำลังถูกใช้ได้จัดให้มีขึ้นสำหรับการใช้ทรัพยากรนี้ มีข้อผิดพลาดที่ทราบในจานของ Arduino ล้าน 2560 ที่ถูกทิ้งไว้อย่างแม่นยำกับโปรแกรมที่ใช้สุนัขเฝ้าบ้าน
เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่ก bootloader ตัวโหลดบูต และวิธีการบันทึกสิ่งที่แตกต่างจากที่มาพร้อมกับจานของคุณ คุณสามารถปรึกษาได้ที่ บทความเกี่ยวกับวิธีการเขียนโปรแกรมไมโครคอนโทรลเลอร์ Atmel.
แสดงความคิดเห็น