Tengo 3 botones conectados a PIN1, PIN3, PIN5 de PORTA de un XMEGA. Si se empujan se entregan un borde descendente. Intento generar interrupciones usando esos botones, comencé con uno, esto es lo que he hecho:
void buttonINT(){
// PORTA
PORTA.PIN1CTRL = PORT_OPC_PULLUP_gc | PORT_ISC_FALLING_gc;
PORTA.INT0MASK = PIN1_bm;
PORTA.INTCTRL = PORT_INT0LVL0_bm;
PMIC.CTRL = PMIC_LOLVLEN_bm;
sei();
}
ISR(PORTA_INT0_vect){
printf(" INTERRUPT \n");
}
en la parte principal, llamo buttonINT()
una vez, pero ¿se imprime el mensaje todo el tiempo?
¿Alguna idea de lo que estoy haciendo mal aquí?