Go Down

Topic: hacer reset desde el programa (Read 1 time) previous topic - next topic

curro92

Hola,
Necesito hacer reset de la placa cada cierto tiempo.
He encontrado la función
Code: [Select]

void(* resetFunc) (void) = 0; //declare reset function @ address 0

Lamándole cada x tiempo
Code: [Select]
 resetFunc();
reinicia al Arduino, pero no produce los mismos efectos que el botón. Debe ser un como un reinicio en caliente, no entiendo muy bien.

Para hacer desde el programa un reset que produzca los mismos efectos que el botón, existe algún modo? ¿O tendría que usar un relé?



     

chiva

Eso hace que el código vaya al inicio del código, pero no se reinicia el micro.
Reiniciar el micro a si mismo es un poco complicado ya que no se cumplen los tiempos requeridos. Si pones un pin conectado a reset y le pones nivel bajo, iniciará la fase de reinicio, pero el pin debe estar a nivel bajo más tiempo, pero al reiniciarse eso ya no ocurre, por lo que puede que se quede bloqueado en la fase de reinicio.
Necesitarías algo de hardware externo u otro micro para hacerlo bien.
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

yOPERO

+1 con chiva  tienes que usar un watchdog de larga duracion( externo)
puede ser otro micro o tambien con un 555.
http://www.playwitharduino.com/?p=291&lang=en
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

flico

En este hilo plantee lo mismo.
http://arduino.cc/forum/index.php?topic=50803.0

Una de las pruebas que hice era usando un integrado de maxim. Una salida de arduino la llevaba a un pin del integrado y este hacia un reset en el pin 1 del Atmega328. Por lo que probé funcionaba muy bien.
Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

curro92

Gracias a todos.
Probaré el 555, con el esquema del link que propone yOPERO

Go Up