Zarządzanie zegarem Watchdog na Arduino
W elektronice, a co za tym idzie w informatyce, watchdog to zasób, który umożliwia ponowne uruchomienie urządzenia fizycznego lub aplikacji, gdy przestanie normalnie działać. W szczególności, jeśli chodzi o mikrokontrolery, jest to zegar odliczający, który powoduje reset w przypadku przepełnienia.
Logicznie rzecz biorąc, urządzenie nie wie, kiedy przestaje działać poprawnie, zasada działania polega na tym, aby nie dopuścić do zakończenia odliczania i tym samym zresetowania systemu. W tym celu najpierw konfiguruje się odstęp czasu, w jakim następuje restart, a po drugie wartość ta jest odświeżana, sygnalizując w ten sposób, że urządzenie działa poprawnie i nie powinno być w danym momencie restartowane.
Aby zarządzać watchdogiem za pomocą Arduino warto korzystać z biblioteki i tylko trzy funkcje: aby ją wyłączyć podczas konfigurowania czasu resetu, który konfiguruje i aktywuje watchdoga w momencie wskazanym jako parametr (czas) i który odnawia interwał zliczany przez watchdog.
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
}
|
Stałe, z którymi można korzystać
aby ustawić czas odliczania to:- = 15 milisekund
- = 30 milisekund
- = 60 milisekund
- = 120 milisekund
- = 250 milisekund
- = 500 milisekund
- = 1 sekunda
- = 2 sekundy
- = 4 sekundy
- = 8 sekundy
Przed użyciem watchdoga ważne jest, aby upewnić się, że program rozruchowy Co ma mikrokontroler na płytce? Arduino który jest używany, zapewnił możliwość wykorzystania tego zasobu. Znany jest błąd w tablicach Arduino Mega2560 które pozostały zawieszone dokładnie z programami korzystającymi z watchdoga.
Aby dowiedzieć się więcej o tym, czym jest a bootloader bootloader i jak nagrać inny niż ten, który jest dołączony do Twojej płyty, możesz zapoznać się z artykuł na temat metod programowania mikrokontrolerów Atmel.
Zamieść komentarz