collapse

* Posts Recentes

Making Linear Ball Way Cages por jm_araujo
[14 de Agosto de 2018, 23:03]


TV Antiga Desliga-se por almamater
[14 de Agosto de 2018, 12:34]


Tubo PVC 32mm Branco por SerraCabo
[10 de Agosto de 2018, 22:49]


Ajuda para contruir uma "máquina" de fisioterapia para a minha filha. por Hugu
[08 de Agosto de 2018, 00:47]


Comprar solda decente por jm_araujo
[07 de Agosto de 2018, 11:30]


Telescopio por kieferdl
[03 de Agosto de 2018, 10:10]


Com que equipamento costumam aceder ao LR? por KammutierSpule
[01 de Agosto de 2018, 10:14]


BostonDynamics - Vai uma mãozinha? por jm_araujo
[01 de Agosto de 2018, 08:29]


Baby's got blue eyes por jm_araujo
[30 de Julho de 2018, 22:55]


Queimei 1 Motor :) por SerraCabo
[30 de Julho de 2018, 22:32]

Autor Tópico: função para resetar  (Lida 2337 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline helivelton.gomes

  • Mini Robot
  • *
  • Mensagens: 21
função para resetar
« em: 04 de Setembro de 2011, 04:58 »
Existe alguma função para resetar o arduino sem precisar apertar o botão reset, só por meio do código?

Vlw...

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.541
  • Helpdesk do sitio
Re: função para resetar
« Responder #1 em: 04 de Setembro de 2011, 13:07 »
Regra geral nunca se quer fazer um reset, por isso qual a razão de quereres fazer um reset por software?
Avr fanboy

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: função para resetar
« Responder #2 em: 04 de Setembro de 2011, 13:31 »
Existe duas maneiras :

-A do jump:



Código: [Seleccione]
asm volatile ("jmp 0x0000");

O Problema desta é que os registos,váriveis,etc não resetam, fazendo apenas que o código volte ao inicio.

A do Watchodog:

Primeiro tes que fazer include de wdt.h:
Código: [Seleccione]
#include <avr/wdt.h>


...

void forceHardReset()
{
  cli(); // disable interrupts
  wdt_enable(WDTO_15MS); // enable watchdog
  while(1); // wait for watchdog to reset processor
}

Cumprimentos,
« Última modificação: 04 de Setembro de 2011, 13:35 por GnGz »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.541
  • Helpdesk do sitio
Re: função para resetar
« Responder #3 em: 04 de Setembro de 2011, 13:39 »
O watchdog está desligado nos fuses dos Arduinos.
Avr fanboy

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: função para resetar
« Responder #4 em: 04 de Setembro de 2011, 14:07 »
Não sabia , okei. Então só dá a forma do Jump.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: função para resetar
« Responder #5 em: 04 de Setembro de 2011, 15:32 »
Ou por hardware... Levar o pino reset a LOW, que é o que faz o switch.

Offline helivelton.gomes

  • Mini Robot
  • *
  • Mensagens: 21
Re: função para resetar
« Responder #6 em: 04 de Setembro de 2011, 15:48 »
Qual o pino do reset?

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: função para resetar
« Responder #7 em: 04 de Setembro de 2011, 15:53 »

Em baixo, nos pinos de "POWER". O mais à esquerda ;)