Como dormir no Arduino

12

Como você programa um modo de suspensão para o seu Arduino? Especialmente para projetos alimentados por bateria, quais são as boas técnicas para adormecer a CPU e acordar apenas quando necessário?

littlebirdceo
fonte

Respostas:

3

lembre-se de que, dependendo do modo de suspensão, existem algumas fontes de interrupção em execução no seu arduino. timer0 gera uma interrupção de estouro que desperta seu arduino aproximadamente a cada milissegundo e o uart gera uma interrupção toda vez que houver um caractere de entrada. ... e, é claro, existem as interrupções externas nos pinos 2 e 3 que você pode ou não ter habilitado usando a função attachInterrupt.

quando ocorre uma interrupção, seu desenho é despertado do modo de suspensão e após a interrupção ser reparada, ela continua sendo executada a partir do ponto em que foi interrompida. a solução para isso é configurar o sketch para voltar a dormir todas as vezes através do loop, a menos que seja realmente hora de acordar.

user64
fonte