mikrocontroller.net

Forum: PC-Programmierung atmega auf c# bascom string vergleichen


Autor: RS232 String vergleichen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe forum mitglieder

Mein probem ist es das ich von meinen atmega der in bascom programmiert 
ist einen printbefel ausführe z.b.

print "String"

das ganze landet dann über rs232 auf meinen rechner und wird über c#
weiterverarbeitet z.b.

RxString = Port1.readLine();

if(RxString.equals("String") == true)
{

}

und jetz kommen wir zum eigentlichen problem(immer um den heisen brei 
rum).
die if anweisung ist nie true. das ist irgendwie doof.

habe mal das gemacht.

textfeld11.text = RxString;

und da steht dann "String" also ohne gänsefüsse.

auf console das gleiche.

kann sein das bescom noch irgendwas mitschickt?

ich bitte um eure hilfe.

mfg Matze

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
readLine() liest bis zum ersten Zeilenumbruch. Bei C# (oder Windows 
allgemein) ist das \r\n. Eine Singleline Textbox zeigt die Steuerzeichen 
nicht an, so weit ich weiß. Es könnte also noch dabei stehen, daher ist 
natürlich der Vergleich immer false.

Die Frage ist, kommt das auch so aus dem Controller?

Vielleicht packst du mal ein Terminalprogramm an den Port und 
schnüffelst mit?

An sonsten kannst du auch mal nen Breakpoint vor das if setzen und dir 
den Inhalt anzeigen lassen. Da werden dann Steuerzeichen angezeigt.

Alternativ kannst du übrigens strings auch so vergleichen:
if(RxString == "String")
{

}

Autor: RS232 String vergleichen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke du bist genial das mit dem breakpoint habe die sache noch nie 
wirklich benutzt aber jetzt klappt es

es wird String\r übermittelt.

Vielen dank.

Wünsche dir noch einen schönen tag

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit wäre noch gewesen
if(RxString.Contains("String") == true)
{

}

(das "== true" brauchst du da nicht)

Autor: kein ==true (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

das "==true" braucht es nie...

lg

gast

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.