collapse

* Posts Recentes

+ LASERs por dropes
[03 de Julho de 2025, 19:35]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

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