Hallo, ich arbeit nun schon seit 4 Wochen an einer Moeglichkeit ein Zeichen mit meinem Launchpad auf den Hyper Terminal zu schicken. Leider ohne Erfolg. Vielleicht hat schon jemand von Euch Erfahrung mit RS232 und MSP430 (Launchpad) und kann mir sagen was ich falsch mache. Vielen Dank im Voraus Gruss Martin Mein Aktueller Code schaut so aus: #include <msp430g2553.h> #define TXD BIT1 // TXD on P1.1 #define RXD BIT2 // RXD on P1.2 unsigned char a; void main( void ) { WDTCTL = WDTPW + WDTHOLD; // Watchdog aus BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; P1SEL = TXD; // TXD P1DIR = TXD; // TXD als Ausgang UCA0CTL1 = UCSWRST; UCA0CTL0 &= ~BIT0; // Async. mode UCA0CTL0 = UCMODE_0; // UART mode UCA0CTL0 &= ~BIT3; // 1 Stopbit UCA0CTL0 &= ~BIT4; // 8-bit character UCA0CTL0 &= ~BIT5; // LSB first UCA0CTL0 &= ~BIT7; // parity disable UCA0CTL1 = UCSSEL_2; // SMCLK UCA0BR0 = 0x6D; // 1Mhz/9600 UCA0BR1 = 0x00; UCA0MCTL= 0x03; UCA0CTL1 &= ~UCSWRST; IE2 |= UCA0TXIE; __bis_SR_register(LPM3_bits + GIE); while (!(IFG2 & UCA0TXIFG)); // TX buffer ready? { UCA0TXBUF = 'a'; } }
Hallo AND, Du hast recht, ich habe mich stur an die Beschriftung auf dem Launchpad gehalten. PS Code funktioniert aber immernoch nicht. Kann ich dann überhaupt den USB Anschluß vom Lauchpad benutzen? Gruß Martin
Hallo Martin, du musst die RX und TX Leitungen beim Launschpad drehen, am besten bei den Jumpern: http://www.43oh.com/2011/10/dongle-swaps-serial-lines-on-the-launchpad/ Dann sollte es gehen.
Martin schrieb: > Kann ich dann überhaupt den USB Anschluß vom Lauchpad benutzen? Welches Betriebssystem und welchen Compiler verwendest du? Irgendwo hier aufm µC.net hab ich auch schon gelesen, dass der integrierte USB-Seriell-Adapter des Launchpad "lügt", wenn man Geschwindigkeiten größer 9600 Baud auswählt; dann gehen trotzdem nur 9600 Baud. Stimmt das? mfg mf
Hallo, ja es ist richtig, dass nur max. 9600 Bps möglich sind. Danke AND für den Link, das werde ich einmal probieren. Gruß Martin
Hallo Mini Float, hätte ich fast übersehen, ich verwende Windows 7 mit dem CCS 5 von TI. Servus Martin
Martin schrieb: > Windows 7 mit dem CCS 5 von TI Dann ist ja alles in Butter und der USB-Serial-Adapter sollte funktionieren. Hier am Apfelrechner gabs fürs Launchpad erst nur einen "Nulltreiber", der zwar das Teil für mspdebug zu Verfügung stellen konnte, aber den USB-Serial-Adapter mit ausgesperrt hat. Wurde inzwischen von ein paar findigen Leuten korrigiert. Mich hat das eh nicht gejuckt, da ich ein umgebautes altes Handydatenkabel hab, das zudem auch schneller kann :D mfg mf
Martin schrieb: > IE2 |= UCA0TXIE; Das aktiviert den "transmit interrupt". Wo ist die ISR? Wozu? Zum Abfragen von IFG2 & UCA0TXIFG benötigt man das nicht, das Flag wird auch so gesetzt. Der Name UCA0TXIFG ist m. E. etwas unglücklich. Martin schrieb: > while (!(IFG2 & UCA0TXIFG)); // TX buffer ready? > { > UCA0TXBUF = 'a'; > } Die geschweiften Klammern könnten verwirren :-)
Martin schrieb: > UCA0BR0 = 0x6D; // 1Mhz/9600 > UCA0BR1 = 0x00; > UCA0MCTL= 0x03; 9600 mit 1 MHz ist ja nicht so der Bringer, wenn ich das richtig sehe, verwendest Du den "fractional baud rate generator", aber versuchs doch erst mit 4800. Der msp430g2553 kann 16 MHz, damit erreicht man 115k (mit einem externen max3232). Im neuen Launchpad soll der msp430g2553 übrigens drin sein.
Hallo AND, nochmals vielen Dank für Deinen Beitrag. Ich habe heute eine Brücke an den Jumpern angebracht. Siehe da, alles funktioniert wie es soll. Über den Rest des Codes habe ich mir noch keine großen Gedanken gemacht, weil ich ersteinmal sehen wollte ob es überhaupt funktioniert. An dieser Stelle auch Danke an alle anderen Beiträge. Gruß Martin PS: Kleiner Tip: Bei TI kann man kostenlos Samples von verschiedenen µC bestellen. (z.B. MSP430G2553 )
Hallo Leute, da nun das Senden und empfangen soweit funktioniert, hat sich inzwischen ein neues Problem ( Herausforderung ) ergeben. Mein Programm empfängt ein Zeichen, in diesem Fall ein 'u' und löst damit eine ISR aus. In der Sende ISR soll der Wert n in Zeichen umgewandelt werden um ihn an den HTerm zu versenden. Er sendet aber nur eine 9. Wie lese ich den char int_to_array_str[4] Speicher richtig aus? Danke im Voraus. Martin
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.