Forum: Mikrocontroller und Digitale Elektronik UART mit MSP430F413 9600 Baud


von Torsten M. (totti)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin dabei die UART zu programmieren für meinen MSP430F413. Hab
jetzt so richtig die Nachteile dieses Mikrocontrollers kennen gelernt,
da er keine RX- und TX Buffer hat. Das macht die UART unlängst
schwerer. Hab es aber hinbekommen, dass der MSP "Hallo Welt" sendet.
Ich habe alles andere auskommentiert, was nicht direkt mit der UART zu
tun hat. Kaum wieder enthalten funktioniert nix mehr, sendet nur noch
Mist. Jetzt bn ich an der FEhlerstelle angekommen. Bei einem CPU Takt
von 1MHz und einer Baudrate von 9600 Hz stelle ich die Bittime auf 0x6C
HEX (siehe Quellcode). Damit läuft es auch. Für die eigentliche Funktion
brauche ich aber 4MHz. Also für 9600 Hz umgerechnet ist die Bittime
0x1B5 HEX. Damit geht dann nix mehr. Vielleicht hat jemand ähnliche
Probleme gehabt und kann mir bitte helfen.
Der Quellcode ist angehängt
Vielen Dank im Vorraus

Viele Grüße

Torsten

von Torsten M. (totti)


Lesenswert?

So hab den Fehler doch alleine gefunden. Der definierte Takt von 4 MHz
kam bei der CPU nur mit 3,3MHz an. Die Baudrate damit errechnet bringt
den gewünschten Erfolg !!!

von Zimmi (Gast)


Lesenswert?

Hmmm, nennt man auch Taktabfall (analog zum Spannungsabfall) :-)
ich nehme mal an, Du hast irgendeinen RC-Oszillator aussen dran hängen.
Ist natuerlich bedenklich als Basis fuer eine UART-Kommunikation. In
diesem Zusammenhang eine recht interessante Geschichte, die TI bei den
aktuell in Produktion gehenden MSP430Fx2xx realisiert.
TI vermisst im Werk den internen Oszillator und legt die Kalibrierwerte
im Flash ab. Diese Werte sollen zusammen mit 2% Stabilitaet ueber den
gesamten Temperaturbereich dafuer sorgen, dass man den internen
Oszillator ohne Probleme fuer die Kommunikation hernehmen kann. Bin ja
gespannt, wie sich das in der Realitaet bewaehrt. Ist aber allemal ein
interessanter Ansatz.

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
Noch kein Account? Hier anmelden.