Fehlende Bytes beim lesen über Seriellen Port

24/02/2009 - 14:22 von Karl Heinz | Report spam
Hallo NG,

ich schreibe gerade an einem Programm mit dem ich Daten per serieller
Schnittstelle auslese.

Ich schicke ein Telegramm an den Partner und erhalte dann eine
Antwort. Bei Antworlàngen bis ca. 15 Bytes funktioniert die Sache
einwandfrei. Will ich nun aber làngere Telegramme (max. bis 350 Bytes)
lesen, so verliert das Programm Zeichen ab Byte 16. Ich trace die
Kommunikation mit einem entsprechenden Kabel und kann so sehen, daß
die Daten die über die Leitung gehen korrekt sind. Im Eingangspuffer
der Seriellen Schnittstelle sind die letzten Bytes allerdings allesamt
genullt!

Ich kommuniziere mit den Einstellungen 9600 Baud und 8N1. Handshake
ist ausgeschaltet. Auch bei eingeschaltetem Handshake passiert das
o.g. Problem.


Kann mir jemand sagen woher so etwas kommt?

Besten Dank vorab

Gruß Karl-Heinz
 

Lesen sie die antworten

#1 Michael Schmitz
24/02/2009 - 15:42 | Warnen spam
"Karl Heinz" schrieb im Newsbeitrag
news:

Kann mir jemand sagen woher so etwas kommt?



Ich Tippe darauf das du den stream ausliest wenn noch nicht alle daten
angekommen sind

Ich würde versuchen mit einem definierten ende Zeichen zu arbeiten und so
lange (bis zu nem Timeout) bis das ende
Zeichen empfangen wurde. Oder mit einer festen anzahl von Bytes, wobei du
dir dann immer noch eine Technik ausdenken musst
um wieder syncron zu werden...

Gruß

Michael

Ähnliche fragen