Forum: Mikrocontroller und Digitale Elektronik MSP430 SMCLK falsch eingestellt


von Joe (Gast)


Lesenswert?

Hallo Leute,

ich programmiere gerade einen MSP430F2132 und stelle gerade eine 
Kommunikation über UART her. Dazu nehme ich folgende Einstellung aus den 
MSP430Ware Vorlagen:

BCSCTL1 = CALBC1_16MHZ;     //16MHz Clock
DCOCTL = CALDCO_16MHZ;


P3SEL = 0x30;              // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSSEL_2;      // SMCLK
UCA0BR0 = 17;              // 1Mhz/17 = 17
UCA0BR1 = 0;
UCA0MCTL = 187;
UCA0CTL1 &= ~UCSWRST;      //UART ENABLED

Die Sache ist folgende, ich habe den Clock auf 16Mhz eingestellt. Und 
deshalb  zuerst UCA0BR0 und UCA0BR1 (also den Teiler) auf 277 um auf 
57600 zu kommen.
Habe dann aber aber eine Bitdauer mitm Oszi von 300us gemessen. D.h. 
eine Baudrate von 3333. Hochgerechet ergibt sich dann eine SMCLK von 
1MHz. Aber ich habe es doch umgestellt ? Ich verstehe das nicht.

Wie stellt man die UCA0MCTL ein ? Gibt es da eine Rechner ?

Danke.

von Jörg S. (joerg-s)


Lesenswert?

Die Formeln stehen alle im User Manual.

von Joe (Gast)


Lesenswert?

Stimmt ich habs gefunden :)

von http://www.ti.com/lit/ug/slau144i/slau144i.pdf (Gast)


Lesenswert?

Joe schrieb:
> UCA0MCTL = 187;

Du kennst die Bedeutung des Registers? Lösche Bit 0 oder schau dir das 
Kapitel zum UART im Family User Guide an. Das sind nur ein paar Seiten. 
Für die Nichtverstehenwoller gibt es dort auch Tabellen zur Einstellung. 
Aber auf die Bedingungen in der Tabellenüberschrift achten!

von Joe (Gast)


Lesenswert?

Ja ich habe die Tabelle gestern nicht gesehen.

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.