MSP430G2231 USART letztes Zeichen kaputt

OP #2173526
Lesenswert?
• ▲
▼
Hallo Zusammen.
Ich möchte mit dem MSP430G2231 Analoge werte Wandeln und dann am Rechner 
über die RS232 empfangen.

Funktioniert auch fast.
Bei dem String den ich sende, ist das letze Zeichen immer kaputt.
Egal wie lang oder sonst was.

So sieht das aus was ich empfange. Das letze Zeichen sieht wie ein
Steuerzeichen aus oder so. Ein Viereckiges Kästchen halt.
Kennt von euch jemand den Fehler?
Code ist angehängt.
Danke schon mal für eure Hifle


817,265145  COM4: 339 strin
817,281668  COM4: 341 strin
817,301254  COM4: 344 strin
817,315144  COM4: 341 strin
817,331014  COM4: 343 strin
817,348599  COM4: 346 strin
817,365916  COM4: 346 strin
817,380860  COM4: 347 strin
817,398742  COM4: 346 strin
817,415290  COM4: 346 strin
817,433160  COM4: 342 strin
817,448573  COM4: 347 strin
817,465580  COM4: 344 strin
817,482698  COM4: 345 strin
817,499913  COM4: 340 strin
817,519638  COM4: 346 strin
817,532327  COM4: 350 strin
817,550665  COM4: 344 strin
817,566552  COM4: 346 strin
Angehängte Dateien:
OP #2173554
Lesenswert?
• ▲
▼
Danke für die schnelle Antwort.
Also wenn ich sie vor main setze bekomme ich folgenden Fehler

Severity and Description  Path  Resource  Location  Creation Time  Id
declaration is incompatible with "volatile unsigned int TACCTL0" 
(declared at line 389 of "C:/Programme/Texas 
Instruments/ccsv4/msp430/include/msp430g2231.h")  USART  USART_ADC.c 
line 25  1304700681906  1391
declaration is incompatible with "volatile unsigned int TACTL" (declared 
at line 388 of "C:/Programme/Texas 
Instruments/ccsv4/msp430/include/msp430g2231.h")  USART  USART_ADC.c 
line 26  1304700681906  1393
this declaration has no storage class or type specifier  USART 
USART_ADC.c  line 25  1304700681906  1390
this declaration has no storage class or type specifier  USART 
USART_ADC.c  line 26  1304700681906  1392



Wenn ich sie nur bei main rein setze macht er nichts mehr.

Es funzt nur wenn sie des im Unterprogramm drin ist.
Hast du noch eine Idee, oder habe ich was falsch gemacht?
Persönliche Seite #2173560
Lesenswert?
• ▲
▼
Die Zeilen können nicht außerhalb einer Funktion ausgeführt werden, 
also gehören sie sehr wohl in main().

Das Problem liegt vermutlich im Aufbau der gesendeten Strings - die 
fangen mit dem Steuerzeichen \n an, und das verwendete Terminalprogramm 
erwartet aber \r\n.

Üblich ist es außerdem, den Zeilenvorschub am Ende der Zeile anzufügen.

Ändere daher

  sprintf(string, "\n%d string", ADC10MEM);

zu

  sprintf(string, "%d string\r\n", ADC10MEM);
Gast #2173925
Lesenswert?
• ▲
▼
Nimm ein vernünftiges Terminalprogramm, dass nicht nur Buchstaben und 
Zahlen anzeigt, sondern auch alle anderen übertragenen Zeichen. Dann 
erscheinen keine komischen Kästchen und es ist leichter zu verstehen, 
was du mit deinem Programm sendest (z.B. HTerm).
MfG
OP #2174227
Lesenswert?
• ▲
▼
Dank für den Tipp hab jetzt HTerm benutzt.
Hier empfange ich
158<\r><\0>158<\r><\0>158<\r><\0>158<\r><\0>159<\r><\0>158<\r><\0>159<\r 
><\0>158<\r><\0>158<\r><\0>158<\r><\0>158<\r><\0>158<\r><\0>158<\r><\0>1 
58<\r><\0>158<\r><\0>158<\r><\0>159<\r><\0>158<\r><\0>159<\r><\0>158<\r> 
<\0>158<\r><\0>158<\r><\0>158<\r><\0>158

vergisster er hier /n oder wo ist das hin?
Kann sich jemand vorstellen wo bei dem anteren terminalprogramm der 
fehler liegen kann?
Das Programm ist von Michael Graphics RS232 Wizard. Hat mein Prof 
geschrieben kann gerne jeder kostenlos testen.

Dank für eure Hilfe

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.