collapse

* Posts Recentes

NiCd por NiMH? por almamater
[Hoje às 09:51]


otto robot por josecarlos
[Ontem às 19:23]


Alfândega / Taxas Alfandegárias / Portes por SerraCabo
[Ontem às 17:26]


Vídeos: pontas prova osciloscópio e misturadora de som Tascam por SerraCabo
[Ontem às 15:34]


Bloco óptico (Laser-Sony) por senso
[15 de Junho de 2018, 09:29]


Plataforma Fritzing por LVirtual
[15 de Junho de 2018, 08:38]


VS-Solar Challenge 2018 por Njay
[14 de Junho de 2018, 18:57]


Boa compra este osciloscópio? por senso
[14 de Junho de 2018, 10:08]


Rigol DS1054Z portugal/europa por edeweld
[13 de Junho de 2018, 23:29]


Caçadores de Ouro por Hugu
[12 de Junho de 2018, 18:57]

Autor Tópico: função para resetar  (Lida 2280 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.515
  • 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.515
  • 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 ;)