Управління сторожовим годинником на Arduino
В електроніці та в ширшому значенні в обчислювальній техніці сторожовий таймер — це ресурс, який дозволяє фізичному пристрою або програмі перезапускатися, коли вона перестає нормально працювати. Зокрема, стосовно мікроконтролерів, це годинник зворотного відліку, який виробляє скидання, коли він переповнюється.
Логічно, що пристрій не знає, коли він перестає працювати коректно, принцип дії полягає в тому, щоб запобігти завершенню зворотного відліку і, отже, скинути систему. Для цього спочатку налаштовується інтервал часу, протягом якого відбувається перезапуск, а по-друге, це значення оновлюється, таким чином вказуючи, що пристрій працює правильно і його не слід перезавантажувати в даний момент.
Керувати сторожовим псом с 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 секунди
Перед використанням Watchdog важливо переконатися, що завантажувач Що має мікроконтролер на платі? Arduino що використовується передбачила використання цього ресурсу. Існує відома помилка в табличках Arduino Mega 2560 які залишилися висіти саме з програмами, які використовували сторожовий таймер.
Щоб дізнатися більше про те, що a завантажувач або менеджер завантаження і як записати інший, ніж той, який постачається з вашою платівкою, ви можете проконсультуватися з стаття про методи програмування мікроконтролерів Atmel.
Дати коментар