Gestione dell'orologio watchdog su Arduino

Gestione dell'orologio watchdog su Arduino

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.

Sommario

    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 wdt.h e solo tre funzioni: wdt_disable() per disabilitarlo durante la configurazione del tempo di reset, wdt_enable(ora) che configura e attiva il watchdog all'ora indicata come parametro (time) e wdt_reset() che rinnova l'intervallo di conteggio del watchdog.

    Costanti con cui è possibile utilizzare wdt_enable per impostare il tempo del conto alla rovescia sono:

    • WDTO_15MS = 15 millisecondi
    • WDTO_30MS = 30 millisecondi
    • WDTO_60MS = 60 millisecondi
    • WDTO_120MS = 120 millisecondi
    • WDTO_250MS = 250 millisecondi
    • WDTO_500MS = 500 millisecondi
    • WDTO_1S = 1 secondo
    • WDTO_2S = 2 secondi
    • WDTO_4S = 4 secondi
    • WDTO_8S = 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

    Potresti aver perso