Utilizar el temporizador perro - guardián

Utilizar el temporizador perro - guardián

Este ejemplo muestra cómo NO se debe utilizar el temporizador perro-guardián. Un comando utilizado para reiniciar este temporizador se omite a propósito en el bucle del programa principal, lo que habilita al temporizador perro guardián “ganar la batalla del tiempo” y reiniciar al microcontrolador. Por consiguiente, el microcontrolador se va a reiniciar sin parar, lo que indicará el parpadeo de los LEDs del puerto PORTB.
Ejemplo 5
/*Cabecera******************************************************/

void main() {
  OPTION_REG = 0x0E; // Pre-escalador se le asigna al temporizador WDT (1:64)
  asm CLRWDT;        // Comando en ensamblador para reiniciar el temporizador WDT
  PORTB = 0x0F;      // Valor inicial del registro PORTB
  TRISB = 0;         // Todos los pines del puerto PORTB se configuran como salidas
  Delay_ms(300);     // Tiempo de retardo de 30mS
  PORTB = 0xF0;      // Valor del puerto PORTB diferente del inicial
                     
  while (1);         // Bucle infinito. El programa se queda aquí hasta que el
                     // temporizador WDT reinicie al microcontrolador
}
Para que este ejemplo funcione apropiadamente, es necesario habilitar al temporizador perro-guardián al seleccionar la opción Tools/mE Programmer/Watchdog Timer - Enabled.
Ejemplo 5 Ejecución

No response to “Utilizar el temporizador perro - guardián”