Interrupcion externa (INT0) del pic 18F2550

Que tal amigos del foro
tengo una consulta quenecesito me ayuden un poco, estoy haciendo un proyecto con el PIC18F2550 y el compilador es Mikroc.
El Pic se encuentra adquiriendo datos a travez del modulo conversor A/D de forma infinita, lo que quiero implementar es
que detecte una interrupcion externa a travez de un pulsador conectado en el pin que detecta INT0 (interrupcion externa)
cuando se apriete el pulsador detenga la conrsion y se quede en estado de "pausa" por asi decirlo.
Cuando se pulse nuevamente el pulsador vuelva al loop de conersiones A/D.
Como puedo hacer esto?


se me ocurre esto. :(

(en pseudocodigo)

-----------------------------------------------------
unsigned char cnt

void interrupt()
{
cont++

if cnt = impar
{

goto loop

}

void main() //programa principal
{
cont=0
for(;;); // loop
{
lectura=adc_read(0) //lecturas del modulo AD
}


loop:

for(;;); //Loop; aca esta la espera cuando se genera interrupcion por el pulsador.
{

}

}
 
simulado con proteus genera un error de stack overflow
pero el programa no tiene error segun el compilador
estoy en un dilema
ayuda colegas
 
Atrás
Arriba