Hallo, kann ich ein den Sleep Befehl im Timer machen? Das Problem ist das der AVR in der main ganze Zeit in einer while hängt. Geht das? Danke
mache einen sleep, in dem ein Timer weiterläuft und lasse den einen Interrupt auslösen, der den Prozessor aufweckt. Also Timer mit Interrupt enable in main() starten und dann sleep. Der Interrupt wird ausgelöst, die ISR aufgerufen (die muss nichts tun) und danach macht der Prozessor hinter dem sleep weiter.
In den Sleep Modus zu kommen ist ja kein problem ... aber wenn er aufgemacht ist und in der while schleife hängt wie kommt er wieder ins Sleep zurück??
1 | int main(void) |
2 | {
|
3 | set_sleep_mode(SLEEP_MODE_PWR_DOWN); |
4 | sleep_mode(); // in den Schlafmodus wechseln |
5 | |
6 | while(1); |
7 | |
8 | }
|
wie kommt er jetzt in sleep wieder? GAR nicht. Deshalb die Frage ob man irgendwie im Timer den Sleep starten kann?
Machs halt so:
1 | int main(void) |
2 | {
|
3 | set_sleep_mode(SLEEP_MODE_PWR_DOWN); |
4 | while(1) sleep_mode(); // immer wieder in den Schlafmodus wechseln |
5 | }
|
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.