He implementado un retraso prolongado con un pequeño microcontrolador (MSP430), sin embargo, necesito probar y verificar que funciona como esperaba.
Mi algoritmo es el siguiente:
main()
{
//Init Timer
//Init Output
//Sleep
}
ISR_Timer()
{
//increment minutes
//if output off and enough time elapsed
//Turn output on
//Reset elapsed time
//else if output on and enough time elapsed
//Turn output off
//Reset elapsed time
}
Debido a que las demoras son de 21 horas y 3 horas, ¿cómo puedo probar esto ya que no sucede instantáneamente? He cambiado las horas a minutos, aunque necesitaré una forma de comprobar que la salida está apagada durante 21 horas y encendida durante 3 horas, y que no pasa nada dentro del microcontrolador, como el temporizador de vigilancia reiniciando la CPU. El código es lo suficientemente simple como para verlo, se puede ver que nada está realmente mal con la implementación, pero aún debe ser probado de alguna manera.