Hallo! Gibt es bereits eine Software-UART für MSP430er?
:
Verschoben durch User
Patrick schrieb: > Du meinst z.B. sowas? Das ist die Hardware UART, die er ja offensichtlich nicht nutzen kann. Für "Software" UART gibts am MSP430 den Timer A, da kann man mit Baudratenquarz eine sehr schicke Lösung bauen. Leider nur Halbduplex, aber das stört selten. Ich betreibe die zuverlässig mit 57600 Baud aus einem 3,6864MHz Quarz.
@christian: wie ich höre, hast du den timer a genutzt. Ist der Code auch von den TI-Sample-Codes?
Ja, ist bei TI alles zu finden. Timer A Software UART. Klappt wunderbar. Ich hab sie halt nur an mein Programm angepasst (Benachrichtigung des Hauptprogrammes über globales Flag-Register aus dem Interrupt heraus). http://focus.ti.com/general/docs/techdocsabstract.tsp?abstractName=slaa307a Das schöne ist: Mit geschickter Verschaltung von RST und TST kann man den MSP430 gleich über den BSL über die gleiche serielle Schnittstelle neu programmieren.
Hallo nochmal! Für meinen Controller gibt es keine SW-UART von TI :( ist der msp430f22x4 Werde auf kompatibilität hoffen oder ggf. den code für meinen Controller portieren....
stephan schrieb: > Hallo nochmal! > Für meinen Controller gibt es keine SW-UART von TI :( > ist der msp430f22x4 > > Werde auf kompatibilität hoffen oder ggf. den code für meinen Controller > portieren.... Die "Software" UART mit dem Timer A geht für alle MSP430 Controller zu benutzen, da alle den Timer A integriert haben. Das ist dann zwar eher eine Timer-UART als Software-UART, tut aber einwandfrei ihren Dienst.
Der Herr ist bereits dabei, das Problem zu lösen, jedenfalls versucht er das im Thread mit dem äußerst vielsagenden Titel "compilerfehlermeldung".
Ich habe leider auch ein kleines Problem mit den verschiedenen MSP430 Mikrocontrollern. Ich benutze den MSP430FG4250 und da dieser auch den Timer A hat wollte ich das Beispiel benutzen. Leider haben sich manche Timer Variablen geändert im Header und ich tue mich schwer daran die Äquivalenten zu finden. Die Variablen/Konstanten sind: BCSCTL1 == ist glaube ich: BTCTL DIVA_3 == ist glaube ich: BT_fCLK2_DIV8 DCOCTL == habe SCFQCTL gefunden, ist aber glaube ich falsch XT2OFF == keine Ahnung sind meine Annahmen diesbezüglich richtig und kann mir jemand bei den fehlenden helfen? Oder liege ich etwa komplett daneben mit meinen Vermutungen? Vielen Dank im Voraus
Das sind alles Register dir mit dem Timer A nicht das gerigste zu tun haben. Schau in die Demos zu dem Prozessor, wie das Taktsystem dort kofiguriert wird. Die Timer A UART läuft davon unabhängig. Dass man für den Timer Clock eine passende Quelle haben muss, ist natürlich klar.
Was Du da beschreibst, hat nichts mit Timer_A zu tun, sondern ist die veränderte Takterzeugung. Neuere MSP430-Varianten haben ein erheblich leistungsfähigeres Modul zu Takterzeugung; sieh im passenden User's Guide nach, wie das zu initialisieren ist und besorg Dir die Codebeispiele von TI, die zu Deinem Controller passen. Timer_A selbst bleibt hingegen unverändert, das betrifft auch die zugehörigen Registernamen.
Danke erst einmal vielmals für die Antworten. Ich seh schon, wer keine Ahnung hat stellt noch dümmere Fragen, sorry dafür. Ich werde mich jetzt erst einmal der Lektüre zur Takterzeugung widmen (hätte ich vllcht. auch schon vorher machen sollen) Falls ich danach noch Fragen habe (hoffentlich sinnvollere) dann melde ich mich wieder.
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.