Hi ich bekomme einfach keine Daten verschickt...
1 | #include "msp430x44x.h"
|
2 | #include "stdio.h"
|
3 |
|
4 | char *test= "Hallo Johnny";
|
5 |
|
6 | void UART0_init();
|
7 | void SendUSART0(char *string);
|
8 |
|
9 | void UART0_init() // Funktion für UART-Schnittstelle
|
10 | {
|
11 | P2DIR |= 0x10; // P2.4 Output, P2.5 Input
|
12 | P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
|
13 | U0CTL |= SWRST; // Software reset enable
|
14 | U0CTL |= CHAR; // 8 Datenbits, 1 Stopbit, keine Partität (8N1)
|
15 | U0TCTL |= SSEL1; // Source select; benutze SMCLK als Clock
|
16 | //U0RCTL = // Receive Control Register
|
17 |
|
18 |
|
19 | U0BR0 = 0x09;
|
20 | U0BR1 = 0x00; //115200 bps
|
21 | U0MCTL = 0x08;
|
22 |
|
23 |
|
24 | //U0RXBUF = // Receive Buffer Register
|
25 | //U0TXBUF = // Transmit Buffer Register
|
26 | ME1 |= UTXE0 + URXE0; // Enable Transmitter- und Receiver Modul
|
27 | IE1 |= URXIE0; // Enable USART0 RX interrupt
|
28 | //IFG // Interrupt Flag Register 1
|
29 | U0CTL &= ~SWRST; // Initialize USART state machine
|
30 | }
|
31 |
|
32 | void SendUSART0(char *string) // Einen String über die Serielle Schnittstelle (USART0) senden
|
33 | {
|
34 | while (*string != 0)
|
35 | {
|
36 | while (!(IFG1 & UTXIFG0)); // warten, bis USART0 TX-buffer sendebereit
|
37 | TXBUF0 = *string++;
|
38 | }
|
39 | }
|
40 |
|
41 | void main (void)
|
42 | {
|
43 | UART0_init();
|
44 | for(;;)
|
45 | {
|
46 | void SendUSART0(char *test);
|
47 | }
|
48 | }
|
Bei den auskommentierten Registern, sehe ich noch nicht so genau durch.
Ich hab sicher irgendwo nen Fehler, nur wo?