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.
/*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.
No response to “Utilizar el temporizador perro - guardián”
Publicar un comentario