Gestione dell'orologio watchdog su Arduino
Nell'elettronica e per estensione nell'informatica, il watchdog è una risorsa che consente a un dispositivo fisico o a un'applicazione di riavviarsi quando smette di funzionare normalmente. Nello specifico, riferendosi ai microcontrollori, si tratta di un conto alla rovescia che produce un reset quando trabocca.
Logicamente il dispositivo non sa quando smette di funzionare correttamente, il principio di funzionamento è impedire la fine del conto alla rovescia e quindi il ripristino del sistema. Per fare ciò, prima viene configurato l'intervallo di tempo in cui avviene il riavvio e in secondo luogo questo valore viene aggiornato, indicando così che il dispositivo funziona correttamente e non deve essere riavviato in questo momento.
Per gestire il watchdog con Arduino la biblioteca dovrebbe essere utilizzata e solo tre funzioni: per disabilitarlo durante la configurazione del tempo di reset, che configura e attiva il watchdog all'ora indicata come parametro (time) e che rinnova l'intervallo di conteggio del 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
}
|
Costanti con cui è possibile utilizzare
per impostare il tempo del conto alla rovescia sono:- = 15 millisecondi
- = 30 millisecondi
- = 60 millisecondi
- = 120 millisecondi
- = 250 millisecondi
- = 500 millisecondi
- = 1 secondo
- = 2 secondi
- = 4 secondi
- = 8 secondi
Prima di utilizzare il watchdog è importante assicurarsi che boot loader Cosa ha il microcontrollore sulla scheda? Arduino utilizzato ha previsto l'utilizzo di tale risorsa. C'è un errore noto nelle piastre del Arduino Mega2560 che venivano lasciati in sospeso proprio con i programmi che utilizzavano il watchdog.
Per saperne di più su cosa a bootloader o gestore di avvio e come registrarne uno diverso da quello fornito con la tua piastra, puoi consultare il articolo sui metodi di programmazione dei microcontrollori Atmel.
Invia commento