Hola, necesito realizar un temporizador de 30 minutos, pero si durante ese tiempo se produce un cambio en una señal externa, debe resetearse el conteo y empezar de nuevo. Resumiendo es algo similar a como funciona el Wachdog de los micros, pero con un tiempo muchisimo mayor.
Tengo escrito el temporizador, sacado y adaptado de un codigo que encontre por internet. Consiste simplemente en una espera de 1.800.000 ms. Y la idea es agregarle una interrupcion de modo que la active la señal esterna, pero no se exactamente como volver al principio del while(true), en el retorno de la interrupcion, para empezar el ciclo de nuevo.
Se que este sistema no es el mas optimo y tambien he pensado en poner varios temporizadores parciales anidados, de modo que sea mas versatil, pero no se por cual decidirme.
Mis dudas son:
Si lo hago con un "delay_ms(1800000)":
¿tendre problemas con el tratamiento de las interrupciones?.
¿como regreso al punto anterior al while(true), para empezar el ciclo de nuevo?
Si lo hago con temporizadores parciales anidados, basicamente las dudas son las mismas.
Espero que alguien me pueda achar una mano.
Saludos.