[Examen 22/02/2013][Problema 2]

Re: [Examen 22/02/2013][Problema 2]

de Gustavo Brown -
Número de respuestas: 0

La parte de instalar la interrupción no va en la rutina obtenerDistancia. Va en el programa principal que no se pedia escribir en ese problema.

- Fijate que sino cada vez que quieras obtener un distancia vas a estar reinstalando la rutina que atiende las interrupciones (ISR). Normalmente (no lo vemos en detalle en este curso) la acción de instalar una rutina de atención a interrupciones no es idempotente porque lo normal es que las ISR se encadenen (varias rutinas pueden atender distintos dispositivos asociados al mismo número de interrupción).

- Lo de poner tics en 0 antes o después del OUT no cambia sustancialmente la solución, cualquiera de las dos es correcta.

- El código puede ponerse perfectamente parte en la interrupcion del temporizador y parte en la rutina. Lo que parece estar mal en tu solución es la condición de salida

Creo que debería decir

WHILE (!encontre && tics < tics_max) { }

para que se quede en el loop hasta que se detecte el eco o de "timeout".

Saludos,
  Gustavo