Hallo, für meine Technikerarbeit möchte ich mit einem MSP430 (MSP TS430FG439) eine Verbindung über UART aufzubauen. Wer kann mir dafür ein Beispielprogramm senden? Gruß Florian
Hallo Ich versuche schon seid ein paar Tagen eine Verbindung via RS232 (UART) aufzubauen.Ich benutze das MSP-TS-430PN80 von TI und den MSP430FG439. Ich habe im Netz einige Beispiele gefunden , nur leider habe ich keines davon zum laufen gebracht.Alles was ich hinbekommen ist das wenn ich das Board mit TX an mein Speicheroszilloskop hänge der TX Ausgang von 0 auf 3.3V springt und dort bleibt.Daten werden nicht gesendet , nur der Ausgang auf High (3.3 V ) gezogen. Hat jemand von euch einen funktionierenden Code der einfach ein " Hallo Welt " ausgibt ? Ich bin für jeden Link/Tip/Code sehr dankbar den ich komme einfach nicht weiter. Hier ist als Beispiel einer der Codes den ich ausprobiert habe.
1 | void main(void) |
2 | { |
3 | |
4 | |
5 | P2DIR |= BIT4; |
6 | P2SEL |= BIT4; |
7 | UCTL0 &= ~SWRST; |
8 | ME1 |= UTXE0; // Enable USART1 TXD |
9 | UCTL0 |= CHAR; // 8-bit char, SWRST=1 |
10 | UTCTL0 |= SSEL1; // UCLK = SMCLK |
11 | UBR00 = 52; // 115200 from 6.02MHz = 52.33 |
12 | UBR10 = 0x00; |
13 | UMCTL0 = 0x45; // Modulation = 0.375 |
14 | UCTL0 &= ~SWRST; // Initialise USART |
15 | TXBUF0 = 44; |
16 | } |
mfg Manfred
Sorry, habe schon länger nicht mehr mit dem MSP430 gearbeitet, aber von TI gibts für alle Derivate diverse Codebeispiele zum runterladen auf ihrer Homepage. http://www.ti.com/lit/zip/slac047 Vielleicht mal die Clocks kontrollieren und bevor Du was senden willst, auf den UART warten:
1 | while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready? |
Nachtrag: Nicht vergessen den Watchdog auszuschalten, wenn Du den nicht befriedigen willst:
1 | WDTCTL = WDTPW + WDTHOLD; // Stop WDT |
:
Bearbeitet durch User
Da beide Threads von sehr nah "verwandten" Leuten erstellt wurden, halte ich eine Zusammenfassung für sinnvoll.
Hallo Die Zusammenfassung ist super ! Arbeiten beide am selben Problem , nur die Absprache wer was postet klappt noch nicht so ganz :-) Danke für den Link zu den Beispiel-Codes. Der Code funktioniert nun so wie er soll. In dem Beispiel wird einfach das was ich an den MSP sende direkt als Echo zurück gesendet. Wenn ich es richtig verstanden habe wird ein Interrupt ausgelöst sobald ich etwas an den MSP sende. Wie kann ich nun ein einfaches "Hello World"an meinen PC senden ohne das ich etwas an den MSP senden muss der dann wiederum den Interrupt für das senden auslöst.
>aber von TI gibts für alle Derivate diverse Codebeispiele >zum runterladen auf ihrer Homepage. Die TI-Beispiele sind mehr für den Industrie-Profi gedacht, der möglichst effizienten und vor allem stromsparenden Code unter Ausnutzung von Interrupts für den MSP430 schreiben will, als für den ungeübten Hobby-Bastler. Für diesen ist der Arduino Ableger Energia für MSP430 empfehlenswert. http://energia.nu/
Da hast du wohl Recht ... Es muss doch eine Möglichkeit geben einfach einen String an den PC zu senden ohne den Echo bzw RX-Interrupt.
Klar, du musst doch nur das Stück Code aus dem Echo Beispiel verwenden, was sendet. Ein bisschen selber Nachdenken und probieren schadet nicht. Vorher natürlich das UUART Modul entsprechend einstellen (Baudrate usw.)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.