[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