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