¿Qué es el temporizador de vigilancia?
Componentes y suministros
| × | 1 |
Aplicaciones y servicios en línea
|
Acerca de este proyecto
¿Cuál es la situación mientras su microcontrolador se confunde en un bucle infinito? ¿Hay algún caso como colgar o atascar su microcontrolador mientras realiza una tarea? ¿Cuáles son los métodos normales de resolución de problemas? Botón de reinicio, derecho ? ¿Es prácticamente posible hacer presionar el botón todo el tiempo? 😕. Entonces, ¿qué pasa con un dispositivo para hacer esta tarea? suena bien. ¡Genial ...! 🙂.
Sí ! Ahora estamos discutiendo sobre tal dispositivo que ya está dentro de un microcontrolador. Eso es temporizador de vigilancia .
Temporizador de vigilancia.
" Un temporizador de vigilancia ( WDT ) es un temporizador de hardware que genera automáticamente un reinicio del sistema si el programa principal no lo repara periódicamente. A menudo se utiliza para restablecer automáticamente un dispositivo integrado que se cuelga debido a una falla de software o hardware. "(os.mbed.com/cookbook/WatchDog-Timer).
¡Alimenta al perro!
Si tienes un perro en tu casa. Necesitas alimentar a ese perro en intervalos regulares. si no puedes alimentarte un día, ¡te morderá! Como si este temporizador de vigilancia funcionara.
Tenemos una parte principal en el programa que se ejecuta una y otra vez ( loop ). Estamos habilitando que el temporizador de vigilancia se cargue con un valor inicial mayor que el retraso total en el programa principal. Cada vez que el programa principal reinicia este temporizador. Si, en cualquier caso, el programa principal no vuelve a restablecer el temporizador antes de que llegue a cero, se genera una interrupción para restablecer el procesador. Asimismo, el temporizador de vigilancia protege el microcontrolador de la carcasa colgante.
Entonces, probemos el temporizador de vigilancia en Arduino ;)
En Arduino UNO usa ATMEGA328P microcontrolador.
Biblioteca de temporizadores de vigilancia
#include
Se necesita una biblioteca para usar el temporizador de vigilancia en Arduino
Habilitar el temporizador de vigilancia:
wdt_enable (temporizador de reinicio WDT);
Para habilitar el temporizador de vigilancia, WDT RESET TIMER varía de 15 ms a 8 s
Por ejemplo: wdt_enable (WDT0_8S);
- Temporizador de vigilancia habilitado durante 8 segundos
Restablecer el temporizador de vigilancia
wdt_reset ();
Esta función se utiliza para restablecer el temporizador de vigilancia. La función de reinicio se utiliza dentro de loop () . Si su programa utiliza un retraso () mayor que mayor que el retardo de umbral del temporizador de vigilancia, agregue la función de reinicio antes de ese retardo también. De lo contrario, reiniciará el microcontrolador antes de completar esa tarea.
Desactivación del temporizador de vigilancia
wdt_disable ();
Código de ejemplo:
#include
void setup () {
Serial.begin (9600);
Serial.println ("Instalación iniciada:");
// hacer un retraso antes de habilitar WDT
// este retraso ayuda a completar todas las tareas iniciales
delay (2000);
wdt_enable (WDTO_4S);
}
bucle void () {
Serial.println ("¡INICIO DEL BUCLE!");
for (int i =0; i <=5; i ++) {
Serial.print ( "Bucle:");
Serial.print (i);
Serial.println ();
retardo (1000);
wdt_reset ();
}
// bucle infinito para colgar MCU
while (1) {}
}
Salida
Grabe sus comentarios, preguntas, discusión en la sección de comentarios.
Código
- Código completo
Código completo Arduino
#includevoid setup () {Serial.begin (9600); Serial.println ("Instalación iniciada:"); // hacer un retraso antes de habilitar WDT // este retraso ayuda a completar todas las tareas iniciales delay (2000); wdt_enable (WDTO_4S);} void loop () {Serial.println ("¡LOOP comenzó!"); for (int i =0; i <=5; i ++) {Serial.print ("Loop:"); Serial.print (i); Serial.println (); retraso (1000); wdt_reset (); } // bucle infinito para colgar MCU while (1) {}}
Proceso de manufactura
- ¿Qué es el moldeado por inserción?
- ¿Qué es la creación de prototipos?
- ¿Qué es un motor lineal?
- ¿Qué es el torneado CNC?
- ¿Qué es una Fundición?
- ¿Qué es una bomba multietapa?
- ¿Qué es un alimentador de prensa?
- ¿Qué es una bomba sumergible?
- ¿Qué es un robot de bebidas?
- ¿Qué es una prensa mecánica?
- ¿Qué es un servomotor?