MSP430 SMCLK falsch eingestellt

Gast #3221642
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.
Gast #3221672
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!

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