Hallo! Ich empfange in C++ Daten über die serielle Schnittstelle von einem AVR. Wenn dieser (aus irgendeinem Grund) nicht mehr sendet, dann bleibt das gesamte Programm an folgender Zeile hängen: WaitCommEvent (m_hCommPort, &dwEvtMask, 0); Ist auch klar - jetzt möchte ich aber dennoch, dass er bei einem TimeOut abbricht. Ich habe leider nicht viel informatives finden können. Weiß jemand, mit welcher Funktion das geht? Ich mlchte also nur, dass die obige Funktion anch bsp. 50ms abgebrichen wird und ich abfragen kann, ob ein Timeout stattgefunden hat. Vielen Dank und viele Grüße Steffen
Du musst die Schnittstelle mit Overlapped I/O ansprechen, dann kannst Du auf ein Eventhandle warten und eine Wartezeit angeben. Der dritte Parameter von WaitCommEvent muss auf eine entsprechend initialisierte OVERLAPPED-Struktur verweisen. Eine C++-Klasse, die dieses Zeugs implementiert und zumindest als Grundlage dafür dienen kann, kannst Du hier finden: http://www.codeproject.com/system/serial.asp
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.