Jak naprogramujete režim spánku pro vaše Arduino? Jaké jsou dobré techniky pro spaní CPU, ale probouzení pouze v případě potřeby, zvláště u designů napájených z baterie?
Jak naprogramujete režim spánku pro vaše Arduino? Jaké jsou dobré techniky pro spaní CPU, ale probouzení pouze v případě potřeby, zvláště u designů napájených z baterie?
avr / sleep.h může mít to, co potřebujete - dokumentace je na http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
Existují některá varování ohledně uvedení CPU do režimu spánku :)
Doufám, že to pomůže.
Mějte na paměti, že v závislosti na vašem spánkovém režimu běží na vašem arduinu několik zdrojů přerušení. timer0 generuje přerušení přetečení, které probudí vaše arduino přibližně každou milisekundu a uart vygeneruje přerušení pokaždé, když je příchozí postava. ... a samozřejmě existují externí přerušení na pinech 2 a 3, která jste mohli nebo neměli povolit pomocí funkce attachInterrupt.
když dojde k přerušení, váš náčrt se probudí ze spánku a poté, co je přerušení obslouženo, bude pokračovat v chodu od bodu, kde přešlo do režimu spánku. řešením je nastavit náčrt tak, aby se ve smyčce pokaždé vrátil do režimu spánku, pokud není opravdu čas se probudit.
zde, moje knihovna spánku Arduino