Com Schnittstelle - Buffer abfrage für ReadFile
-
hallo
Ich programmiere mir gerade ein programm dass über die rs232 schnitstelle mit einem anderem rechner komuniziert, den man durch einfach Stringbefehle steuern kann.
das ganze habe ich ohne komponente mit WinApi (CreateFile , WriteFile, ReadFile) aufgebaut.
nach langem lesen und suchen habe ich leider noch für ein problem keine lösung gefunden.
ReadFile habe ich bisher entweder durch ein OnClickButton oder durch einen Timer ausgelöst. ersteres ist ziemlich unpraktisch, da man ja nicht immer klicken will(es kommen ziemlich viele unregelmässige Daten) zweiteres legt das ganz programm lahm, da wenn man zuviele "ReadFile"s auslöst das programm auf die Daten wartet und kaum noch reagiert.
habe leider durch suchen nichts gefunden was mir wirklich weiterhilft.
aber wie kann man abfragen ob etwas im Buffer ist oder einen Interrupt abfangen oder ähnliches? am besten währe es wenn man das'\n' im Buffer abfangen könnte. da es das letzte zeichen in eines Strings den ich auslesen muss ist.für jegliche Tipps, Anregungen, Beispiele etc bin ich dankbar
BigNeal
-
Hallo
da bietet sich doch ein eigner Thread fuer das Lesen der Daten an
MfG
Klaus
-
Forensuche nach WaitCommEvent ergibt unter anderem:
http://www.c-plusplus.net/forum/viewtopic.php?t=64005
-
danke für die antwort, und verzeihe mir meine dumme frage:
wie meinst du das "ein eigener Thread"? sagt mir jetzt so nichts. bin noch relativ anfänger auf dem gebiet. meinst du einen neuen Prozess?
aber dan währe ja mein problem mit dem Buffer abfragen ja auch nicht glöst, oder?ich habe mitlerweilen auch weitergesucht. ich habe mal ein einem Thread gelesen, da hat einer eine Com Komponente gemacht und über einen interrupt ausgelesen. leider finde ich ihn gerade nicht mehr.
momentan vertiefe ich mich wieder in die ReadFile funktion und deren übergaben. versuche gerade mit grosser mühe FILE_FLAG_OVERLAPPED &Co zu verstehen.
Bin ich da auf dem Richtigen weg?thx BigNeal
-
Hepi schrieb:
Forensuche nach WaitCommEvent ergibt unter anderem:
http://www.c-plusplus.net/forum/viewtopic.php?t=64005genau
war ich also auf dem richtigen weg
werde mich da mal rein arbeitenKlausB schrieb:
da bietet sich doch ein eigner Thread fuer das Lesen der Daten an
aber leider versteh ich das immer noch nicht ganz
kann mir jemand infos, oder ne quelle geben über einen "eigenen Thread"?
forumsuche hat leider nichts ergeben.thx BigNeal
-
Hallo
such mal nach Thread
oder binde eine Komponente mit ein (ActiveX oder ...)
MfG
Klaus
-
danke für die hilfe..
habe mich mal über Threads schlau gemacht.
dank eurer hilfe gehts langsam wieder vorwärts mit meinem projektthx BigNeal