LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: SJD22 em 21 de Fevereiro de 2012, 18:25

Título: Desligar processador por software
Enviado por: SJD22 em 21 de Fevereiro de 2012, 18:25
Olá.

É possível desligar um processador (no meu caso um atmega1280) por software? (a alimentação continua ligada).

Será que basta terminar o int main()? Se eu tiver um led acesso através de uma saída digital ele apaga?

Obg.
Título: Re: Desligar processador por software
Enviado por: xiserre em 21 de Fevereiro de 2012, 18:34
hum.... nunca me ocorreu... e por em sleep profundo nao e suficiente?
Título: Re: Desligar processador por software
Enviado por: SJD22 em 21 de Fevereiro de 2012, 18:53
e como faço isso? :)

e como acordá-lo dps?
Título: Re: Desligar processador por software
Enviado por: xiserre em 21 de Fevereiro de 2012, 20:43
hum.. no datasheet fala disso.... temta procurar...
Título: Re: Desligar processador por software
Enviado por: senso em 21 de Fevereiro de 2012, 21:34
Tenho ideia que já te tinha dito isso.
Para meter o micro-controlador a consumir uA é mesmo ligar os sleep modes, penso que o que consome menos é o deep sleep, o micro pode ser acordado do sleep por interrupções, por exemplo a partir do pino int0, ou então a partir do watchdog, que permite gerar interrupções, penso eu a uns 100ms mais coisa menos coisa, se queres dormir 1s é só chamar o sleep e contar 10 interrupções e depois tirar de sleep, atenção que depois os periféricos do micro demoram alguns clocks a arrancar a fundo de novo, por isso se precisares de resposta ultra rápida a interrupções terás de usar sleeps mais leves que consomem mais.
Uma pessoa que tem uma coleção de posts no blog sobre modos de sleep e até código é o jeelabs.org, o criador dos JeeNodes, mas a melhor fonte de informação é mesmo a datasheet.
Título: Re: Desligar processador por software
Enviado por: SJD22 em 21 de Fevereiro de 2012, 22:02
Obrigado senso.