Hi, ich hab ein kleines Programm, welches über die "normale" API auf die RS232 zugreift, nicht über extra lib's oder ähnliches. Da ein Gerät 10mal pro Sekunde Daten Sendet, ich aber nur aller paar Minuten den aktuellen Wert auslesen möchte klappt das nicht, da der Puffer mit alten Werten voll ist. Bei msdn habe ich nichts zu gefunden, vielleicht auch nach den falschen begriffen gesucht :(. Wie heißt die Funktion, mitr der ich den Puffer löschen kann? Ein herabsetzen der Puffergrösse SetupComm(AE,1,100); hat auch nichts gebracht. Danke
CloseHandle(hFile); // wenn sowiso nichts empfangen werden soll PurgeComm(hFile,Flags); // löscht den Puffer (Flags beachten) MFG
Danke, ich werde es testen. War ja klar, daß ich nach dem falschen Begriff gesucht habe.
> CloseHandle(hFile); // wenn sowiso nichts empfangen werden soll > PurgeComm(hFile,Flags); // löscht den Puffer (Flags beachten) Bloß nicht in dieser Reihenfolge ... > Da ein Gerät 10mal pro Sekunde Daten Sendet, ich aber nur aller paar > Minuten den aktuellen Wert auslesen möchte klappt das nicht, da der > Puffer mit alten Werten voll ist. Du empfängst trotzdem alle Daten und verwirfst die von Dir nicht benötigten. Vorteil: Du musst Dich nicht für jeden (nutz-)Lesevorgang neu auf die vom Gerät gesendeten Daten synchronisieren.
Würde ich auch so machen mit "alles empfangen und selber verwerfen". Dies hat zudem den Vorteil, dass es bei verschiedenen Windows Versionen und PC's bestimmt auch kompatibler/zuverlässiger läuft.
Mit PurgeComm klappt es 1a. So mache ich es nun. Das mit dem verwerfen hat irgendwie nicht geklappt, vielleicht war der Empfangsbuffer zu gross, und ich hab nicht lange genug gewartet, hab aber auch nicht zuviel versucht auf diese weise. >> CloseHandle(hFile); // wenn sowiso nichts empfangen werden soll >> PurgeComm(hFile,Flags); // löscht den Puffer (Flags beachten) >Bloß nicht in dieser Reihenfolge ... Schon klar :)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.