Wie man Arduino schläft


12

Wie programmierst du einen Schlafmodus für deinen Arduino? Was sind besonders bei batteriebetriebenen Designs gute Techniken, um die CPU zu schonen, aber nur bei Bedarf aufzuwachen?

Antworten:



3

Denken Sie daran, dass abhängig von Ihrem Schlafmodus auf Ihrem Arduino mehrere Interruptquellen ausgeführt werden. timer0 generiert einen Überlauf-Interrupt, der Ihr Arduino ungefähr jede Millisekunde weckt, und der uart generiert jedes Mal einen Interrupt, wenn ein Zeichen eingeht. ... und natürlich gibt es die externen Interrupts an Pin 2 und 3, die Sie möglicherweise mit der Funktion attachInterrupt aktiviert haben oder nicht.

Wenn ein Interrupt auftritt, wird Ihre Skizze aus dem Ruhezustand geweckt und nach der Wartung des Interrupts an dem Punkt weiter ausgeführt, an dem sie in den Ruhezustand übergegangen ist. Die Lösung besteht darin, Ihre Skizze so einzurichten, dass sie sich jedes Mal wieder in den Ruhezustand versetzt, es sei denn, es ist wirklich Zeit aufzuwachen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.