MSP430: UART TX immer BUSY

Gast #7314142
Lesenswert?

Hallo,

ich habe zwar schon öfters den UART beim MSP430G2755 erfolgreich benutzt, aber im Moment "steh ich auf dem Schlauch".

Das Problem ist, dass beim Senden eines Datums der TX nicht fertig wird und auch nichts sendet. Das UCBUSY bit im UCA0STAT ist immer "1", sobald das Datum in UCA0BUF geschrieben wird. Ich benutzte die Polling Methode um zu senden.

Die Initialisierung ist eigentlich immer gleich:

1
void init_uart(void)
2
{
3
//Clock source=SMCLK, 14,7456 MHZ Quarz,
4
    UCA0CTL1 = 0;   // SMCLK + SW Reset
5
    UCA0CTL1 |= UCSSEL_2 + UCSWRST; // SMCLK + SW Reset
6
    UCA0CTL0 = 0;
7
    UCA0BR0 = 0x10;                 // 57600 bd
8
    UCA0BR1 = 0x00;
9
    UCA0MCTL = UCOS16;
10
    P3SEL |= 0x30;                  // P3.4,5 = USCI_A0 TXD/RXD
11
    UCA0CTL1 &= ~UCSWRST;           // **Initialize USCI state machine**
12
}

Hat jemand eine Idee was das Senden verhindern könnte und damit der TX immer BUSY ist?

Danke

Gast #7314815
Lesenswert?

Bist du sicher, dass der Oszillator läuft?

Danke für den Tip!

Das war's.

Irgendwie sind mir nach dem Clocksetup bei den Portinitialisierung die bits 6 und 7 von Port2 gelöscht gekommen.

Danke nochmals.

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