Estoy trabajando con un ATmega128 y necesito reiniciar el microcontrolador después de que hayan pasado unos 10 segundos y el usuario no haya interactuado con el microcontrolador. Como ejemplo, cuando el usuario no ha presionado ninguna tecla de un teclado durante 10 segundos, el controlador debería reiniciarse.
Hay un temporizador de vigilancia disponible en el ATmega128, pero puedo obtener un retraso máximo de 2 segundos antes de que se reinicie. Pero necesito 10 segundos.
¿Tal vez pueda hacerlo usando temporizadores pero no sé cómo proceder?
En lugar de usar el temporizador Watchdog para este propósito,
Inicie un temporizador antes de aceptar entradas del usuario, restablezca ese temporizador cada vez que el usuario ingrese algo... Si el usuario está inactivo durante un tiempo determinado, el temporizador se desbordará... Establezca una marca en el temporizador y, si esa marca está configurada, salga de su "Aceptar". ¡Bucle de entrada!
Es posible lograr lo mismo. Utilice el perro guardián (es decir, interno o externo). Si es externo, debe verificar su hoja de datos y la respuesta de acuerdo con ella. El perro guardián interno debe configurarse durante 2 segundos y luego restablecerlo en bucle durante más de 1 segundo. es favorable utilizar un temporizador para el mismo propósito. Simplemente descanse el perro guardián después de cada segundo y reinicie el contador del perro guardián después de 5 veces.
Sanju
Juan U.
Cristóbal
Sanju
Juan U.
Sanju
Juan U.
for(i=99999;i>0;){i--;}
cuenta hacia atrás desde un número grande. Esto generalmente se ve como una mala forma de agregar demoras, ya que evita que la CPU haga cualquier otra cosa, pero es la más básica.Sanju
Cisne y
Juan U.
Sanju
Sanju