H
Harry64
Hallo zusammen,
folgendes Szenario. Ich verwende 2 COM-Ports, über die byteweise Daten ankommen. Allerdings kommen die Daten in Frames, d.h. es gehört immer eine definierte Anzahl an Bytes zu einem Paket. Diese Daten sollen kontinuierlich gespeichert werden. D.h. in der Reihenfolge, wie sie eintreffen. Wenn allerdings an COM1 gerade ein Frame kommt, sollen die Daten, die an COM2 ankommen zwischengespeichert und nach dem Ende des Frames auf COM1 als nächstes behandelt werden. Kommen unterdessen an COM1 Daten an, sollen diese wieder zwischengespeichert werden.
Beispiel:
An COM1 kommt der Frame AA BB CC DD an. Zum Zeitpunkt t1 kommt also AA an. Zum Zeitpunkt t1 und t2 gibt es auf COM2 keine Daten. Der Frame für COM2 ist EE FF. Kommt bei t3 EE an COM2 an, dann soll der Wert zwischengespeichert werden und erst zum Zeitpunkt t4 an die Ergebnisliste angehängt werden, die dann AA BB CC DD EE FF lautet, obwohl EE eigentlich vor DD ankam. Hoffe das war halbwegs verständlich.
Hat jemand eine Idee, wie man das synchronisieren kann?
viele Grüße
Harry
folgendes Szenario. Ich verwende 2 COM-Ports, über die byteweise Daten ankommen. Allerdings kommen die Daten in Frames, d.h. es gehört immer eine definierte Anzahl an Bytes zu einem Paket. Diese Daten sollen kontinuierlich gespeichert werden. D.h. in der Reihenfolge, wie sie eintreffen. Wenn allerdings an COM1 gerade ein Frame kommt, sollen die Daten, die an COM2 ankommen zwischengespeichert und nach dem Ende des Frames auf COM1 als nächstes behandelt werden. Kommen unterdessen an COM1 Daten an, sollen diese wieder zwischengespeichert werden.
Beispiel:
An COM1 kommt der Frame AA BB CC DD an. Zum Zeitpunkt t1 kommt also AA an. Zum Zeitpunkt t1 und t2 gibt es auf COM2 keine Daten. Der Frame für COM2 ist EE FF. Kommt bei t3 EE an COM2 an, dann soll der Wert zwischengespeichert werden und erst zum Zeitpunkt t4 an die Ergebnisliste angehängt werden, die dann AA BB CC DD EE FF lautet, obwohl EE eigentlich vor DD ankam. Hoffe das war halbwegs verständlich.
Hat jemand eine Idee, wie man das synchronisieren kann?
viele Grüße
Harry