Hola de nuevo, finalmente lo que he hecho es un bucle de 300 repeticiones de un delay de 1 segundo junto a una comprovacion de si se ha recibido un caracter en el buffer de recepcion (de un ST485). De esta manera, si entra en la comprovacion, puedo saber cuantos segundos han pasado, por tanto, cuantos kedan, y realizar los calculos pertinentes conociendo el tiempo de la ejecucion de la funcion que se realiza si he recibido un caracter. Esquematicamente:
Interrupcion: Cuando llega un caracter al buffer, una variable "recibido" cambia . Nada mas.
En el programa principal, un bucle de 300 repeticiones realiza:
- Un delay de 1 segundo
- Comprobacion de si la variable "recibido" ha cambiado
Si la variable no ha cambiado, no pasa nada.
Si ha cambiado, hace una serie de cosas, que tardan X tiempo que puedo calcular, pasarlo a su equivalente en repeticiones, y asi no desfasarme de los 5 minutos.
Lo pongo asi porque el programa en si no esta escrito completamente ni probado.