การจัดการนาฬิกา 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.
แสดงความคิดเห็น