COM-Signal einlesen
-
Die Daten werden jeweils mit einem EOF-Operator abgeschlossen.
-
Dann lies solange Zeichenweise ein, bis du das EOF Zeichen bekommst.
Oder mach das Timeout sinnvoll. Dann kannst du mehr Zeichen auf einmal anfordern. (Du musst aber trotzdem überprüfen ob das EOF enthalten ist)
-
Und wie realisiere ich das dann?
Die ReadFile() schaut allegmein so aus:
ReadFile(hSerial, &buffRead, nread, &dwBytesRead, NULL)
Da ich nread ja im Vorhinein festlegen muss, hab ich so meine Probleme.
-
DirkB schrieb:
Dann lies solange Zeichenweise ein, bis du das EOF Zeichen bekommst.
Du setzt nread auf 1 (eins).
Und dann in einer Schleife. (do while)Mit dwBytesRead kannst du feststellen ob du überhaupt etwas gelesen hast.
-
und was ist dann die while Bedingung?
-
Hast du doch schon selber geschrieben:
gast123 schrieb:
Die Daten werden jeweils mit einem EOF-Operator abgeschlossen.
also (Zeichen == EOFZeichen)
Wie dein EOF-Zeichen aussieht musst du wissen. EOF wird es aber nicht sein.
-
Aber welches Zeichen soll ich mit dem EOF-Zeichen vergleichen?
Es wird doch alles eingelesen und in buffRead gespeichert...?
-
ReadFile(hSerial, &buffRead, nread, &dwBytesRead, NULL)
Weißt du was die Parameter bei ReadFile bedeuten (mit Ausnahme der NULL)?
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ja, was die Parameter bedeuten weiß ich.