Página 1 de 1
Botão Liga/Desliga (sleep/wakeup)

Enviado:
06 Out 2011 07:10
por blackpic
Olá senhores,
poderiam me explicar como fazer uma rotina para uma tecla liga/desliga usando sleep e wakeup? o circuito que tenho aqui é alimentado por uma bateria, colocar um interruptor para ligar e desligar o equipamento seria algo que eu não gostaria de fazer, já que o pic tem recurso pra deixar tudo mais elegante.
Obrigado.

Enviado:
06 Out 2011 15:55
por David Henrique
Meu caro, eu fiz algo parecido com isto. No meu caso eu coloquei um botão na interrupção de do PIC pois só assim você consegue acordar o PIC após coloca-lo em Sleep. Na interrupção eu simplesmente seto uma variável Flag_sleep=1; Dentro do meu código, eu analiso esta variável e:
If(Flag_sleep == 1) {sleep();}
Flag_sleep = 0;
Perceba que o comando sleep() para o processador imediatamente mas quando eu pressiono o botão, a interrupção acorda o pic e o programa segue...
O desafio mesmo é conseguir desligar/ligar todo o circuito com um único botão... Se voc~e tiver uma idéia posta aí para mim!

Enviado:
06 Out 2011 15:55
por ze
pois não. 1 ex.: libere a interrupção pelos ports. use a instrução sleep. o wakeup é automático quando ocorre mudança nos ports. faça o que tem que fazer.
Também pode deixar um um pino para l/d. tipo
- Código: Selecionar todos
if (!RB0)
{
//...faça ou termine o trabalho
asm("sleep"); //mais um raro uso do asm
//puts agora me pegou. será que quando acordar vai cair aqui??
//caso não esteja liberada a interrupt???bom só testando...
}
abç

Enviado:
07 Out 2011 23:51
por blackpic
Obrigado pessoal pelas dicas.