Hallo! Ich verstehe noch nicht so ganz, wie/wann genau die Energiesparmodi erreicht werden. Einerseits hier durch die ADC-ISR aber zusätztlich gibt es den Timer-Int. Warum läuft der code nicht ohne timer_isr?
__bis_SR_register(CPUOFF + GIE); Mit dieser Zeile gelangt der MSP in den Low-Power-Mode 0, die CPU wird also angehalten. Interrupts arbeiten aber weiterhin und wecken die CPU wieder auf. Ist der Interrupt abgearbeitet, legt sich die CPU automatisch wieder schlafen - ausser man beendet den Low-Power-Mode im Interrupt per "__bic_SR_register_on_exit(CPUOFF);" oder "LPM0_EXIT;" (was dasselbe ist). Wird der Low-Power-Mode verlassen, arbeitet die CPU nach Abarbeitung des Interrupts genau eine Zeile weiter unten im Code weiter, an der sie in den Low-Power-Mode gesetzt wurde.
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.