Forum: PC-Programmierung Zeichenabfrage vom UART in VB


von Christian (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem: mein ATmega8 sendet über den UART in einer 
for-Schleife 400 mal das Zeichen 'x', danach wird eine Endzeichen 
gesendet. In Visual Basic frage ich die Zeichen folgendermaßen ab:


Do Until Form1.SerielleSchnittstelle.ReadByte = 3

           Form1.MeldungsListe.Items.Add(Form1.SerielleSchnittstelle.ReadByte)
            i = i + 1
Loop


Es kommt nun aber immer nur die Hälfte der Zeichen an (also wenn ich 400 
sende , hat i den Wert 200, bei 800 werden 400 empfangen). Woran liegt 
das bloß?


VIelen Dank für eure Hilfe!

Gruß Christian

von Johannes B. (jotschi)


Lesenswert?

Das Problem ist, dass du "ReadByte" 2x aufrufst. Nach dem ReadByte = 3 
wird bereits das empfangene Byte aus dem Puffer gelöscht und du bekommst 
mit dem 2. ReadByte" schon das nächste Zeichen.

Gruß, Johannes

von Christian (Gast)


Lesenswert?

Vielen Dank! Da war ich ganz schön blöd...

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
Noch kein Account? Hier anmelden.