#INT_EXT //testeo de los pulsadores y su funcion
VOID RB0_ISR (VOID){
IF(!mux_read(6)){ //testeo si presiono el boton para volver
setup_timer_1(T1_DISABLED); //si presione el boton desactivo el timer
BUT_FREC = 0; //los botones ya no se usan para el frecuencimetro
clear_interrupt(INT_EXT); //habilito otra vez las interrupciones porque el compilador las desactiva aqui para evitar que
enable_interrupts(INT_EXT); //entre de nuevo y borro el flag
enable_interrupts(GLOBAL);
goto_address(DIR_FIN_FREC); //y me voy a la direccion de la memoria donde esta el siguiente paso a la funcion
} //frec(); de este modo salgo de la misma :D
}WHILE(1){ //bucle infinito
setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1); //activo el TIMER 1
WHILE(cycles != 587825){ //con este bucle demoro 1 segundo
IF(t1_overflow){ t1_overflow = 0; ++OVER; } //testeo si desborda el TIMER 1
++cycles;
}
reinicio:
setup_timer_1(T1_DISABLED); //desactivo el TIMER 1
glcd_text57(0,20,FREQ,2,OFF); //borro la frecuencia anterior del GLCD
IF(t1_overflow){ t1_overflow = 0; ++OVER; } //testeo por ultima vez el desbordamiento del TIMER 1
FRECC = make32(OVER,get_timer1()); //uno el valor del TIMER y los OVERFLOW en un INT32 para tener la frecuencia
glcd_text57(0,20,FREQ,2,ON); //escribo la frecuencia en el GLCD y lo actualizo
glcd_update();
set_timer1(0); OVER = 0; cycles = 0; //inicializo variables
}