set_timer1(0);
clear_interrupt(INT_TIMER1); // No se como es lo que va dentro, la idea es limpiar el flag
contador=0;
while(input(echo))
{
if(interrupt_active(INT_TIMER1))
{
contador++; //Cuento cuantas veces se produjo el overflow
clear_interrupt(INT_TIMER1); // Limpio la bandera para asi espero la proxima
}
}
if (contador <=4 ) // Si se paso de 4, es decir 5 significa que se paso en tiempo incluso de lo que habria sido con 4Mhz, por eso si se paso de ese tiempo directamente pongo la distancia a 0
{
tiempo= (get_timer1() >> 2) + (contador << 14); // O lo mismo que (get_timer1() / 4) + (contador*16384);
distancia=(tiempo*10)/(58.0);
}
else
{
distancia =0;
}