collapse

* Posts Recentes

TV Risco Horizontal por SerraCabo
[Ontem às 22:53]


Recuperação de um AGC por SerraCabo
[Ontem às 21:58]


Placa BMS Desliga por almamater
[Ontem às 14:16]


Potênciometro 4.7 ou 5 KOhm com switch por Hugu
[Ontem às 00:02]


é preciso ter cuidado com ESD? por Hugu
[17 de Dezembro de 2018, 18:50]


Valores de alcance de ponta de prova por vasco
[17 de Dezembro de 2018, 14:28]


Como reproteger as pontas de cobre do ferros de soldar? por vasco
[16 de Dezembro de 2018, 18:53]


Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[14 de Dezembro de 2018, 12:12]


Zener BZW04-105? por brunus
[11 de Dezembro de 2018, 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]

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