www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430: UART im LPM3 fumktioniert nicht


Autor: nobody0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Haiko Schillert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.