MSP430: UART im LPM3 fumktioniert nicht

Gast #23293
Lesenswert?
• ▲
▼
Ich habe folgendes Problem: Über die serielle Schnittstelle am UART0 
kann ich den MSP430 zwar u. a. in den LPM3 setzen und die RTC läuft auch 
richtig weiter, aber ich kann nicht über den UART0 aufwecken; die 
Funktion

interrupt[UART0RX_VECTOR] void uart0_receive (void)

wird im LPM3 nicht erreicht, obwohl der UART0 vor dem LPM3 explizit 
aktiviert wird:

 // enable USART0
  ME1 |= URXE0;
  // enable USART0 RX Interrupt
  IE2 |= URXIE0;

Über den Debuger habe ich auch ME und IE überprüft und obwohl die 
richtig sind (nachdem ich die Werte über den Debuger gesetzt habe), 
funktioniert es nicht.
Woran kann das liegen?
Gast #23294
Lesenswert?
• ▲
▼
Hallo,

welchen Clk benutzt du denn für den UART, SMCLK oder ACLK? SMCLK wird im 
LPM3 abgeschaltet. Vielleicht liegt es daran, dass dein UART dann nicht 
mehr laufen kann. Obwohl ich gerade lese, dass der UART auf der 
fallenden Flanke von URXD getriggert wird und dann loslaufen soll. Es 
ist jedenfalls eine Untersuchung wert. Das BIT3 im U0TCTL hast du 
gesetzt? Das scheint notwendig zu sein, um den UART im Low-Pwer-Modes zu 
betreiben.

Gruss Haiko
Gast #23295
Lesenswert?
• ▲
▼
Danke, aber diese naheliegenden Sachen habe ich längst überprüft. Weil 
kein Systemtaktquarz verwendet wird, kann auch kein anderer Takt als 
ACLK verwendet werden.
Inzwischen habe ich die Ursache aber durch Nachsehen in dem User´s Guide 
gefunden:

 P3SEL = 0x20; /* P3.5 = USART0 RXD */

fehlte, weil vor dem Sleep-Modus 0x00 gesetzt wurde (vom Programmierer, 
vom dem der historisch gewachsene Code stammt).
Jetzt funktioniert LPM3 -> AM und AM -> LPM3 über die serielle 
Schnittstelle.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.