• Welcome to LusoRobótica - Robótica em Português.
 

Desligar processador por software

Started by SJD22, 21 de February de 2012, 18:25

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SJD22

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.

xiserre

hum.... nunca me ocorreu... e por em sleep profundo nao e suficiente?

SJD22

e como faço isso? :)

e como acordá-lo dps?

xiserre

hum.. no datasheet fala disso.... temta procurar...

senso

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.
Avr fanboy

SJD22