การจัดการนาฬิกา Watchdog บน Arduino

การจัดการนาฬิกา Watchdog บน Arduino

การจัดการนาฬิกา Watchdog บน Arduino

ในด้านอิเล็กทรอนิกส์และโดยการขยายในด้านการประมวลผล หน่วยเฝ้าระวังเป็นทรัพยากรที่ช่วยให้อุปกรณ์ทางกายภาพหรือแอปพลิเคชันรีสตาร์ทเมื่อหยุดทำงานตามปกติ โดยเฉพาะหมายถึงไมโครคอนโทรลเลอร์ มันเป็นนาฬิกานับถอยหลังที่สร้างการรีเซ็ตเมื่อมันล้น

สารบัญ

    ตามตรรกะ อุปกรณ์ไม่ทราบว่าเมื่อใดหยุดทำงานอย่างถูกต้อง หลักการทำงานคือการป้องกันไม่ให้การนับถอยหลังสิ้นสุดและระบบจึงรีเซ็ต ในการดำเนินการนี้ ขั้นแรกให้กำหนดค่าช่วงเวลาที่การรีสตาร์ทเกิดขึ้น และประการที่สองค่านี้จะถูกรีเฟรช ซึ่งแสดงว่าอุปกรณ์ทำงานอย่างถูกต้องและไม่ควรรีสตาร์ทในขณะนี้

    เพื่อบริหารจัดการสุนัขเฝ้าบ้านด้วย แพลตฟอร์มฮาร์ดแวร์ ควรใช้ห้องสมุด wdt.h และมีเพียงสามฟังก์ชันเท่านั้น: wdt_disable() เพื่อปิดการใช้งานในขณะที่กำหนดเวลารีเซ็ต wdt_enable (เวลา) ที่กำหนดค่าและเปิดใช้งานโปรแกรมเฝ้าระวังในเวลาที่ระบุเป็นพารามิเตอร์ (เวลา) และ wdt_reset() ซึ่งจะต่ออายุช่วงเวลาที่สุนัขเฝ้าบ้านนับ

    ค่าคงที่ที่สามารถใช้ได้กับ wdt_enable เพื่อตั้งเวลานับถอยหลังคือ:

    • WDTO_15MS = 15 มิลลิวินาที
    • WDTO_30MS = 30 มิลลิวินาที
    • WDTO_60MS = 60 มิลลิวินาที
    • WDTO_120MS = 120 มิลลิวินาที
    • WDTO_250MS = 250 มิลลิวินาที
    • WDTO_500MS = 500 มิลลิวินาที
    • WDTO_1S = 1 วินาที
    • WDTO_2S = 2 วินาที
    • WDTO_4S = 4 วินาที
    • WDTO_8S = 8 วินาที

    ก่อนที่จะใช้โปรแกรมเฝ้าระวัง สิ่งสำคัญคือต้องแน่ใจว่า บูตโหลดเดอร์ ไมโครคอนโทรลเลอร์บนบอร์ดมีอะไรบ้าง? แพลตฟอร์มฮาร์ดแวร์ ที่กำลังถูกใช้ได้จัดให้มีขึ้นสำหรับการใช้ทรัพยากรนี้ มีข้อผิดพลาดที่ทราบในจานของ Arduino ล้าน 2560 ที่ถูกทิ้งไว้อย่างแม่นยำกับโปรแกรมที่ใช้สุนัขเฝ้าบ้าน

    เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่ก bootloader ตัวโหลดบูต และวิธีการบันทึกสิ่งที่แตกต่างจากที่มาพร้อมกับจานของคุณ คุณสามารถปรึกษาได้ที่ บทความเกี่ยวกับวิธีการเขียนโปรแกรมไมโครคอนโทรลเลอร์ Atmel.

    แสดงความคิดเห็น

    คุณอาจจะพลาด