UART.C

Gast #231791
Lesenswert?
• ▲
▼
Hallo alle zusammen,
als erstes möcht ich schreiben, dass ich noch blutiger Anfänger bin und
mich in die Materie erst reinarbeite. Macht mir aber ne Menge Spass ;)
Zu meinem Problem: Ich will einen Kartenleser für eine normale
Chipkarte (Krankenkassenkarte) bauen und benutze einen MSP430F413
dafür. Ich programmiere in C. Die UART stellt mich vor einige Probleme.
Habe also erstmal versucht mit einer einfachen "Hallo Welt"
Programmierung über die serielle Schnittstelle etwas auf dem Schirm zu
sehen. Laut Datenblatt kann ich dazu die Register UxRXBUFx und UxTXBUFx
als Buffer zur Ausgabe benutzen (oder doch falsch verstanden?). Diese
Register erkennt aber mein Compiler nicht an und gibt mir Fehler aus,
weil er diese nicht kennt. Wie muß ich die vorher definieren? Oder ist
meine <msp430x41x.h> einfach nur fehlerhaft oder nicht vollständig?
Dachte nämlich, dass ein Register nicht def. wird und einfach anwählbar
ist. Bei anderen Beispielen hab ich die Bezeichnung UDR als Register
gefunden, hat mir aber auch nicht weitergeholfen. Freu mich auf eure
Antworten. Danke
Gast #231792
Lesenswert?
• ▲
▼
Die genaue Registerbezeichnung lautet:

U0RXBUF = UART 0 Empfangsregister (RX)
U0TXBUF = UART 0 Senderegister    (TX)

U1RXBUF = UART 1 Empfangsregister
U1TXBUF = UART 1 Senderegister

usw.

Also im RX Register steht das empfangene Byte und mit dem TX Register
kannst du Bytes senden.

Von TI gibt es aber eine sehr gute Application Note zu dem Thema. Schau
dir die mal an, dann sollte das meiste klar sein.
Gast #231793
Lesenswert?
• ▲
▼
Hi,
erst mal ein dickes Danke für die schnelle Antwort. Die
Registerbezeichnung hatte ich so in der Richtung schon verstanden, aber
wenn ich das Register so eingebe U0TXBUF = answer1 [i++] ( als Beispiel)
sagt der Compiler mir 'U0TXBUF' wäre undeklariert. Ich habe mich an
den Beispiele unter ti und unter www.mathar.com orientiert. Bei mathar
gibt es eine sehr gute Erläuterung für ein solches Eingabe a,b,c
Programm. Nur benutzen die auch dieses Register und bei mir erscheint
die Fehlermeldung. Vielleicht noch ein Idee was ich falsch mache ?
Gast #231795
Lesenswert?
• ▲
▼
Hallo nochmal,
so hab den Fehler gefunden. Hab dann mal wirklich in der Headerdatei
geschaut. Die msp430/usart.h war zwar vorhanden aber nicht in der
Controller Head Datei eingefügt. Vielen Dank an alle die mitgedacht
haben ;) freu freu

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.