Frage zur UART des MSP430

Gast #1016305
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.
1
 WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
2
  P3OUT &= ~(BIT4+BIT5);
3
  P3SEL = 0x30;                             // P3.4,5 = USCI_A0 TXD/RXD
4
  UCA0CTL1 = UCSSEL_1;                     // CLK = ACLK
5
  UCA0BR0 = 0x67;                           // 16MHz/9600 = 103
6
  UCA0BR1 = 0x00;                           //
7
  UCA0MCTL = UCBRS1 + UCBRS0;               // Modulation UCBRSx = 3
8
  UCA0CTL1 &= ~UCSWRST;                   // **Initialize USCI state machine**                  // **Initialize USCI state machine**
9
  IE2 = UCA0RXIE +UCA0TXIE;
10

11
  
12
  __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.
#1016362
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.
Gast #1016408
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 :/
#1016437
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....
Gast #1016449
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren