MSP430: UART läuft nicht ACLK

Gast #213401
Lesenswert?

Zum Debuggen habe ich versucht den UART1 statt mit 1,5 MBaud und dem
Takt aus SMCLK bei 9600 Baud mit Takt aus ACLK zu verwenden, aber das
funktioniert nicht, obwohl ACLK vorhanden ist (auch am Pin 20 gemessen)
und ich die Werte aus dem Manual eingetragen habe:

U1TCTL = 0x10;  // transmitter source select = ACLK
UBR01 = 0x03;
UBR11 = 0x00;
UMCTL1 = 0x4a;

Am Interrupt oder ME1/2 liegt es nicht, da die nicht verändert wurden.
An den 9600 Baud liegt es nicht, denn mit den 8 MHz SMCLK funktioniert
es.
Woran könnte es sonst noch liegen?
Gast #213402
Lesenswert?

Inzwischen habe ich die Ursache: Es ist ein Hardware-Bug, beschrieben im
Errata slaz018a.pdf (Bug US14).
Nebenbei funktioniert der UART auch nicht bei 2400 Baud; da bleibt die
Software sogar hängen wenn sie den Zustand des Ausgangspuffers abfragt
mit

while (not(U1TCTL bitand TXEPT)); // wait for empty U1TXBUF

oder

while (not(IFG2 bitand UTXIFG1));  // wait for empty U1TXBUF
.

Hätte mein Fallschirm (und die Reserve) so viele Bugs wie die
Mikrocontroller, dann wäre ich schon seit Jahren tot ...

Naja, bei 1,5 MBaud funktioniert der UART ja und mit aufgelötetem
Reset-Taster sind die Evaluationboards ja halbwegs brauchbar.

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