Hi,
ich habe eine Prinzipfrage wie ich Geräteparameter am besten auslesen
kann.
Vorhanden ist eine Com-Hardware die ich regelmäßig (per Timer - geht
leider treiberbedingt nicht anderst) anpolle ob neue Daten empfangen
wurden.
nun möchte Daten aus der dort angeschlossenen Hardware auslesen. Hierbei
will ich gerne eine methode erstellen welche die auszulesenden Werte als
Rückgabewert zur Verfügung stellt.
in etwa so:
1 | private UInt32 ReadDeviceParameter(Uint16 ParmeterAdress);
|
Mein Problem ist dass ich nicht weiß, wie ich einen Rückgabewert
erstellen soll wenn die empfangenen Daten in einem anderen Prozess
empfangen werden.
Anbei mal ein Bild wie ich das gerne machen würde, eine "while (neue
Daten==true) geht nicht, den aufgrund der while-schleife würde der timer
ja gar nicht mehr aufgerufen werden.
Einen eigenen thread für den timer will ich auch nicht, denn dann wäre
die GUI eingefroren solange ich auf eine Antwort warte.
Das senden und das empfangen von Daten geschieht in unterschiedlichen
methoden, soll dann aber in der selben methode zusammen laufen - geht
das überhaupt? Wie würdet Ihr soetwas lösen?