msp430 & lpm0 - 3 ausserhalb ISR beensen

Gast #2870927
Lesenswert?
• ▲
▼
Hallo,
ich habe folgendes Problem:
Ich möchte den cc430f5137 in verschiedenen Low Power Modi betreiben. Das 
Ganze soll in etwa so aussehen:
Ich habe einen einfachen Round-Robin Scheduler, der von timer1a3 (smclk) 
getaktet (ca. 1ms) wird und zyklisch Tasks abarbeitet. Zusätzlich habe 
ich einen Rtc Alarm Interrupt (Rtc wird von Aclk getaktet). Der 
Controller soll im lpm3 verweilen bis der Rtc Alarm auftritt. Da im LPM3 
SMCLK abgeschaltet ist, arbeitet der Scheduler nun nicht. Danach wird 
(vom Scheduler) eine Statemachine angeschmissen, die (zyklisch) div. 
States abarbeitet. Wenn der Scheduler nichts zu tun hat, schickt er den 
Controller in LPM0. Nach dem letzten State der Statemachine geht der 
Controller wieder in LPM3 (und schaltet damit implizit den Scheduler ab.
Nun zu meinem eigentlichen problem:
die ISR der timer (t1a3 & rtc) rufen lediglich callback funktionen im 
Scheduler, bzw. in meiner Applikation auf. ich weis auch nur dort, ob 
ich den jeweiligen LPM verlassen muss, oder nicht.
1
LPMx_EXIT
funktioniert jedoch lediglich im ISR context. Wie kann ich einen LPM 
state ausserhalb einer ISR verlassen?

Gruß & Dank,
Thomas
Gast #2870963
Lesenswert?
• ▲
▼
Hallo,
so weit so klar - das problem ist der compiler (mspgcc)
1
error: __bic_status_register_on_exit invalid outside of function with interrupt attribute

Da fehlt dann wohl irgend ein Attribut bei der Funktionsdeklaration 
(oder?)- muss ich mal noch mal nachlesen.

Vielen Dank.

Gr. Thomas

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.