Hola de nuevo, una vez más me están volviendo loca las interrupciones, os cuento:
estoy intentando configurar la entrada IC2 (input capture) para que me cuente cuantos ciclos de relo está alta la señal que le meto por ese pin. Entonces hago (sólo el código importante):
void CONFIGcapture(void) {
CloseCapture2();
unsigned int configura = IC_DLE_STOP & IC_TIMER3_SRC & IC_INT_1CAPTURE & IC_EVERY_EDGE;
//captura parada en modo idle, lectura del timer3, se interrumpe en la primera lectura y cada flanco de subida y de bajada
OpenCapture2(configura);
}
int void (main) {
CONFIGcapture();
while(1) {
}
return 1;
}
void __attribute__((__interrupt__)) _IC2Interrupt(void){
IFS0bits.IC2IF = 0;
putsUART1("interrupcion");
}
Sin embargo sólo me interrumpe una vez, lo sé por el mensaje de "interrupción" sólo me aparece una vez. ¿Tengo que hacer algo más en el caso de este tipo de interrupción además de limpiar el bit?
Muchas gracias