www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zur UART des MSP430


Autor: Aspire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

Ich hätte da mal eine Frage zur UART. Mir ist das Prinzip nicht ganz 
klar wie das Senden und Empfangen einzelner Zeichen funktioniert. Wie 
die UART zu initialisieren ist sollte ja kein Problem sein.
 WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P3OUT &= ~(BIT4+BIT5);
  P3SEL = 0x30;                             // P3.4,5 = USCI_A0 TXD/RXD
  UCA0CTL1 = UCSSEL_1;                     // CLK = ACLK
  UCA0BR0 = 0x67;                           // 16MHz/9600 = 103
  UCA0BR1 = 0x00;                           //
  UCA0MCTL = UCBRS1 + UCBRS0;               // Modulation UCBRSx = 3
  UCA0CTL1 &= ~UCSWRST;                   // **Initialize USCI state machine**                  // **Initialize USCI state machine**
  IE2 = UCA0RXIE +UCA0TXIE;

  
  __bis_SR_register( GIE)

mein Problem ist eher die ISR zu entwerfen, damit ich ein Zeichen an den 
Pin 3.4 Senden kann. An diesem Pin habe ich ein Oszi angeklemmt, messe 
zur Zeit aber nur eine "1" egal was ich ins  UCA0TXBUF schreibe.

Eine kurze Beschreibung der Arbeitsweise de rUART würde schon 
weiterhelfen.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>mein Problem ist eher die ISR zu entwerfen,...
Wie wäre es ohne ISR/Interrupts, oder ist das für dich zwingend 
notwendig?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aspire wrote:

> mein Problem ist eher die ISR zu entwerfen, damit ich ein Zeichen an den
> Pin 3.4 Senden kann. An diesem Pin habe ich ein Oszi angeklemmt, messe
> zur Zeit aber nur eine "1" egal was ich ins  UCA0TXBUF schreibe.
>
> Eine kurze Beschreibung der Arbeitsweise de rUART würde schon
> weiterhelfen.

Die steht im User Guide, sogar ausführlich und für verschiedene 
Beispiele.

Hast du denn einen Quarz am ACLK dran? Mit dem Takt betreibst du nämlich 
deine UART.

Autor: Aspire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jörg S. :
Also mit Interrups wäre es schon eleganter finde ich aber wenn du ein 
paar tips zur Polligvariante hast bin ich natürlich ganz ohr. Bin für 
jede Lösung dankbar, die mir die UART etwas näher erläutert.


@ Christian R. :
Ja, habe einen Quarz dran, der schwingt auch. Also daran kann es nicht 
liegen. Sorry aber ich werd aus dem User Guide nicht so ganz schlau :( 
bzw. hättest du vielleicht eine konkrete Seite im Guide. Vielleicht 
schau ich einfach nur falsch :/

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher MSP430 ist das genau? Einer der 2XX-Reihe? Ich denke, es liegt 
einfach daran, dass du zu Beginn der UART-Initialisierung das SWRST Bit 
nicht setzt, das muss whärend der gesamten initialisierung gesetzt 
bleiben. Steht auch im User Guide, extra dick eingerahmt, dass die Init 
der USCI Schnittstelle nach einem ganz genau festgelegten Muster zu 
erfogen hat, sonst klappts nicht. Eventuell musst du auch das P3DIR 
Register entsprechend setzen, um den TXD AUsgang zu aktivieren, das ist 
immer mal widerspüchlich in der TI-Literatur....

Autor: Aspire (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja genau ich nutze einen MSP430F2XXX. Hab jetzt mal das Beispiel der 
IrDA zu Rate gezogen. Da passiert einiges das ich ersteinmal verstehen 
muss aber zumindest ändert sich der Wert am Pin 3.4 kurzzeitig. Werde da 
jetzt mal ein wenig nachhacken und euch auf dem laufenden halten. Die 
Init der UART werd ich mir auch nochmal genauer zur Brust nehmen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.