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
:
Bearbeitet durch User
Aus den MSP430 bin ich zwar schon ein bisschen länger draußen, aber dass du den SEL-Registern beiden TXD und RXD zuweist, sieht seltsam aus.
Danke Dir. Naja, aktuell brauche ich den RXD noch nicht, aber zukünftig sollen beide Pins die 3. Funktion übernehmen.
> macht keinen Wank
Ist ja auch kein Wanker.
Die Bildung in D zerfällt exponentiell.
Hallo Edi, in Zeile 54 prüfst Du zwei Flags gegeneinander, diese Bedingung ist immer FALSE. Du muß die Flags gegen die entsprechenden Register prüfen. Gruß wv
Sagt man dass nur in der Schweiz so? https://www.duden.de/rechtschreibung/Wank#:~:text=sich%20nicht%20r%C3%BChren.,machen%2C%20etwas%20zu%20tun.)
wv schrieb: > Hallo Edi, > in Zeile 54 prüfst Du zwei Flags gegeneinander, diese Bedingung ist > immer FALSE. Du muß die Flags gegen die entsprechenden Register prüfen. > Gruß wv Hm, aus der msp430fr5994.h:
1 | sfr_w(UCA0IFG); /* eUSCI_Ax Interrupt Flag Register */ |
Ich denke schon, dass das ein Register ist.
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.
> Wank in diesem Gebrauch > ist im ... Hochdeutschen sehr ungebräuchlich. Indeed!
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.
hallo Edi laut Tab. 6-23 im Datenblatt soll für UART nur P2SEL1 gesetzt werden. --wv
wv schrieb: > laut Tab. 6-23 im Datenblatt Welches Datenblatt soll das sein? In https://www.ti.com/lit/ds/symlink/msp430fr5994.pdf gibt es keine Tabelle 6-23, auch in https://www.ti.com/lit/ug/slau367p/slau367p.pdf gibt es keine Tabelle 6-23.
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!
hallo edi, ich hatte ein älteres Datenblatt auf meinem Rechner, in der neuesten Version des Datenblatts ist es die Tabelle 9-23 -wv
DerEinzigeBernd schrieb: > wv schrieb: >> laut Tab. 6-23 im Datenblatt > > Welches Datenblatt soll das sein? In > https://www.ti.com/lit/ds/symlink/msp430fr5994.pdf gibt es keine Tabelle > 6-23, auch in https://www.ti.com/lit/ug/slau367p/slau367p.pdf gibt es > keine Tabelle 6-23. Habs rausgefunden, ist Tabelle 9-23! DANKE! Und: Mit neu rechnen und UCBR1=0; funktioniert nun alles!
wv schrieb: > hallo edi, > ich hatte ein älteres Datenblatt auf meinem Rechner, in der neuesten > Version des Datenblatts ist es die Tabelle 9-23 > -wv Supi, danke, da haben wir uns gerade überschnitten. Funzt nun alles, Danke für die schnelle Hilfe!
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.