Hola a todos,
Estoy aprendiendo a utilizar interrupciones y he hecho un programita simple que debería prender y apagar un led cada vez que apretó un btón. El problema es que no hace nada!
¿Alguno me podría dar una mano?
Acá les dejo el código:
#include <htc.h>
#define _XTAL_FREQ 4000000
__CONFIG(FOSC_INTRC_NOCLKOUT);
void interrupt ISR(void)
{
if(INTF) //si se produce la interrupción externa
{
RC4 = ~RC4; // cambia el estado del pin RC4
INTF = 0; // resetea la interrupción
}
}
void main(void)
{
TRISB0 = 1; //pin RB0 entrada
TRISC4 = 0; //pin RC4 salida
RC4 = 0;
INTCON = 0x90; // habilita la interrupción externa y la global
OPTION_REG = 0x40;
while(1)
{
}
}
Mi idea era hacer un programa súper fácil solo para probar como funcionan las interrupciones, pero no hay caso, no lo puedo hacer andar. Cuando se aprieta el botón, debería cambiar el estado el pin RC4 ¿hay algún problema en el código? ¿me falta configurar algo? Cualquier ayuda va a ser bienvenida!!
También les dejo la simulación en proteus.
Desde ya, muchas gracias!!
Saludos
-juanchin