Gerenciamento de relógio watchdog no Arduino
Na eletrônica e por extensão na computação, o watchdog é um recurso que permite que um dispositivo físico ou aplicativo seja reiniciado quando parar de funcionar normalmente. Especificamente, referindo-se aos microcontroladores, é um relógio de contagem regressiva que produz um reset quando transborda.
Logicamente o aparelho não sabe quando para de funcionar corretamente, o princípio de funcionamento é evitar que a contagem regressiva termine e consequentemente o reset do sistema. Para isso, primeiro é configurado o intervalo de tempo em que ocorre a reinicialização e, em segundo lugar, esse valor é atualizado, indicando assim que o dispositivo está funcionando corretamente e não deve ser reiniciado no momento.
Para gerenciar o watchdog com Arduino a biblioteca deve ser usada e apenas três funções: para desativá-lo enquanto configura o tempo de reinicialização, que configura e ativa o watchdog no horário indicado como parâmetro (time) e que renova o intervalo que o watchdog conta.
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
}
|
Constantes que podem ser usadas com
para definir o tempo de contagem regressiva são:- = 15 milissegundos
- = 30 milissegundos
- = 60 milissegundos
- = 120 milissegundos
- = 250 milissegundos
- = 500 milissegundos
- = 1 segundo
- = 2 segundos
- = 4 segundos
- = 8 segundos
Antes de usar o watchdog é importante garantir que o carregador de inicialização O que o microcontrolador da placa possui? Arduino que está sendo utilizado previu o uso deste recurso. Existe um erro conhecido nas placas do arduino mega 2560 que ficaram pendentes justamente com programas que usavam o watchdog.
Para saber mais sobre o que é um gerenciador de inicialização ou gerenciador de inicialização e como gravar um diferente daquele que acompanha sua placa, você pode consultar o artigo sobre métodos de programação de microcontroladores Atmel.
Postar Comentário