collapse

* Links de Robótica

* Posts Recentes

Ajuda com TRIAC por senso
[Ontem às 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]


Ideias para construir um quadrúpede simples por Njay
[07 de Novembro de 2017, 18:39]

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