nullplaner
Grünschnabel
Hallo,
also ich hatte das so verstanden:
ReadDataWaiting() gibt die Anzahl der Zeichen zurück, die im internen IN-Buffer liegen, ReadData() liest die Daten dann aus dem Buffer aus. Soweit stimmt also deine annahme.
Die serielle kommunikation funktioniert hier so, dass der gesamte Lese- und Schreibvorgang von internen Mechanismen ausgeführt werden. Das einzige was der Programmierer letztlich mit seinem Code (ReadFile(...) / WriteFile(...) ) macht, ist den internen Buffer auszulesen bzw zu füllen.
Was die Sache mit dem Pollen betrifft ist das wohl für viele Anwendungen eine ganz vernünftige Lösung. Die etwas kompliziertere ist einen eigenen Thread zu verwenden, der auf ein Event wartet, das eine Veränderung am ComPort anzeigt:
Die ganzen Events sind in der Vc++ Hilfe unter "WaitCommEvent" zu finden.
Was die Sache mit Bluetooth angeht kann ich leider nicht weiterhelfen, das Thema interessiert mich aber auch, da ich damit in nächster Zeit wohl auch zu tun haben werde.
also ich hatte das so verstanden:
ReadDataWaiting() gibt die Anzahl der Zeichen zurück, die im internen IN-Buffer liegen, ReadData() liest die Daten dann aus dem Buffer aus. Soweit stimmt also deine annahme.
Die serielle kommunikation funktioniert hier so, dass der gesamte Lese- und Schreibvorgang von internen Mechanismen ausgeführt werden. Das einzige was der Programmierer letztlich mit seinem Code (ReadFile(...) / WriteFile(...) ) macht, ist den internen Buffer auszulesen bzw zu füllen.
Was die Sache mit dem Pollen betrifft ist das wohl für viele Anwendungen eine ganz vernünftige Lösung. Die etwas kompliziertere ist einen eigenen Thread zu verwenden, der auf ein Event wartet, das eine Veränderung am ComPort anzeigt:
Code:
SetCommMask (hCom, EV_RXCHAR | EV_CTS | EV_DSR | EV_RLSD | EV_RING);
WaitCommEvent(hCom, &dwCommModemStatus, 0);
Die ganzen Events sind in der Vc++ Hilfe unter "WaitCommEvent" zu finden.
Was die Sache mit Bluetooth angeht kann ich leider nicht weiterhelfen, das Thema interessiert mich aber auch, da ich damit in nächster Zeit wohl auch zu tun haben werde.