MSP430: Kriege UART nicht zu laufen

#7348529
Lesenswert?

Hallo zusammen,

ich arbeite mich zur Zeit in die MSP430 ein. Ich habe ein MSP-EXP430FR5994 hier liegen und versuche, per UART etwas zu senden, allerdings klappt das nicht. Der TX-Pin macht keinen Wank, und der LED nach zu Urteilen bleibt das Programm auf Zeile 54 hängen. Kann mir mal jemand auf die Sprünge helfen? main.cpp für gcc ist im Anhang.

Danke und Gruss, Edi

Angehängte Dateien:
Gast #7348831
Lesenswert?

wv schrieb:

in Zeile 54 prüfst Du zwei Flags gegeneinander

Nö, das ist korrekt. UCA0IFG ist ein Register, und UCTXCPTIFG ist ein Bit in diesem Register. Der Code wartet, bis das Bit gesetzt ist.

Wieso eigentlich "gegeneinander"?

Eduard I. schrieb:

Sagt man dass nur in der Schweiz so?

Auch in der Schweiz: "das" mit nur einem 's'. Wank in diesem Gebrauch ist im (nichtschweizerischen) Hochdeutschen /sehr/ ungebräuchlich.

#7348882
Lesenswert?

Hallo,

vorne weg: ich habe bis jetzt eigentlich nur etwas mit der MSP430F2xx Familie gemacht.

Probier mal auf das Flag UCTXIFG zu prüfen. Denn UCTXCPTIFG ist nach dem Reset mit 0 initialisiert. Da rennst du schön in eine Endlosschleife. UCTXIFG hingegen mit 1.

Was mir aber irgendwie etwas unlogisch erscheint, denn nach Reset ist ja der UCAxTXBUF ja leer und eigentlich müssten beide Flags ja dementsprechend gesetzt sein.

#7348930
Lesenswert?

wv schrieb:

hallo Edi laut Tab. 6-23 im Datenblatt soll für UART nur P2SEL1 gesetzt werden. --wv

Perfekt, DANKE! In meinem Datenblatt gibt es diese Tabelle nicht... Wie heist diese? Ist aber eigentlich logisch, das ist die 3. Funktion bei der Pinbeschreibung, also die 2. Alternativfunktion. Ich musste Zeile 57 noch zu while (!(UCA0IFG & UCTXIFG)); anpassen, wie Markus schon schrieb. Nun habe ich wohl noch ein Problem mit den Bitrate-Registern, da 0xE0 anstatt 'x' ankommt, aber es kommt was an! Herzlichen Dank!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren