[Linux-Biella] Arduino sleep
Jumping Jack
jumpingjack a jumpingjack.org
Dom 21 Gen 2018 03:56:12 CET
Rimando in lista.
On 21/01/2018 2:16, Alessio Esposito Inchiostro wrote:
> Riscrivo perchè sembra che la mia mail sia spartia
Perché hai risposto solo a me, da un po' le email arrivano che il reply
in lista non è automatico e non è un problema di client, dato che quello
che uso non è aggiornato da tempo.
> Quale chip scalda? Se il microncontroller, le elaborazioni non contano
>> nulla, il consumo della cpu è praticamente costante, per ridurre i
>> consumi va mandata in sleep o meglio in power down. Quello che fa
>> scandare il chip è la corrente di drain, ovvero quella sulle uscite.
>
> Come esattamente?
> Con un semplice delay() o la faccio troppo semplice?
delay() fa eseguire semplicemente dei cicli usando le funzioni
delay_loop_1() e delay_loop_2() che sono utili usate direttamente per
ritardi nell'ordine dei nanosecondi. Il tempo di set-up comunque è
variabile, se si vuole precisione sul nanosecondo non si può fare una call.
Qui
https://playground.arduino.cc/Learning/ArduinoSleepCode
trovi un esempio completo, con anche i vari tipi di sleep possibili,
anche se non sono spiegati. Cambiano le possibile di uscite dallo sleep,
che cosa continua a funzionare e anche il tempo di recupero. In uscita
da idle non ci sono ritardi, è una funziona utilizzabile in
continuazione. In uscita da power down serve per forza un interrupt o
quello che fa da timer watchdog o esterno e ci vuole anche un secondo
prima che l'efficienza torni al 100%. Però una batteria può bastare per
mesi.
Maggiori informazioni sulla lista
Linux