Bagaimana Anda memprogram mode tidur untuk Arduino Anda? Khusus untuk desain bertenaga baterai, teknik apa yang baik untuk tidur CPU tetapi bangun hanya jika diperlukan?
Bagaimana Anda memprogram mode tidur untuk Arduino Anda? Khusus untuk desain bertenaga baterai, teknik apa yang baik untuk tidur CPU tetapi bangun hanya jika diperlukan?
Jawaban:
avr / sleep.h mungkin memiliki apa yang Anda butuhkan - dokumentasi ada di http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
Ada beberapa peringatan tentang mematikan CPU :)
Semoga ini membantu.
Ingatlah bahwa tergantung pada mode tidur Anda, ada beberapa sumber interupsi yang berjalan di Arduino Anda. timer0 menghasilkan interupsi melimpah yang akan membangunkan arduino Anda kira-kira setiap milidetik dan uart akan menghasilkan interupsi setiap kali ada karakter yang masuk. ... dan, tentu saja, ada interupsi eksternal pada pin 2 dan 3 yang Anda mungkin atau mungkin tidak aktifkan menggunakan fungsi attachInterrupt.
ketika interupsi terjadi, sketsa Anda akan dibangunkan dari tidur dan setelah interupsi diservis, sketsa itu akan terus berjalan dari titik di mana ia pergi tidur. solusi untuk ini adalah membuat Anda membuat sketsa untuk kembali tidur setiap kali melalui loop kecuali itu benar-benar waktu untuk bangun.
di sini, perpustakaan tidur arduino saya