LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: SJD22 em 09 de Maio de 2011, 14:23

Título: Reset a Arduino por software/firmaware
Enviado por: SJD22 em 09 de Maio de 2011, 14:23
Caros,

o assunto diz tudo. É possível fazer reset ao Arduino (neste caso estou a usar o Atmega2560) por firmware? Ou seja, existe algum comando ou conjunto de comandos que seja equivalente a presseionar o botão de reset?

Obrigado.
Título: Re: Reset a Arduino por software/firmaware
Enviado por: GnGz em 09 de Maio de 2011, 14:41
Não tenho a certeza mas acho que podes com o watchdog timer . Mas podes ligar um pino digital ao Reset e fazes digitalWrite(pinoreset, LOW); quando o pino de reset fica a low rinicia.
Título: Re: Reset a Arduino por software/firmaware
Enviado por: senso em 09 de Maio de 2011, 18:57
A melhor maneira é mesmo usar o watchdog, mas está desligado nos fuses, e para o ligares precisas de um programador ISP, podes fazer um jump para 0x0000, mas porque é que precisas de fazer reset ao código, regra geral isso tenta-se evitar?

void software_Reset() // Restarts program from beginning but does not reset the peripherals and registers
{
asm volatile ("  jmp 0");