Hallo,
ich benutze folgenden Befehl, um über meine Serielle Schnittstelle ein
Byte zu empfangen:
1 | unsigned char Cserial_mega::serial_receive(){
|
2 | char szBuff[1] = {0};
|
3 | DWORD dwBytesRead = 0;
|
4 | // do{
|
5 | ReadFile(hSerial, szBuff, 1, &dwBytesRead, NULL);
|
6 | // }while(dwBytesRead == 0);
|
7 |
|
8 | return szBuff[0];
|
9 | }
|
Jedoch wartet die Funktion unendlich lange, wenn kein Byte empfangt
werden kann - die Timeouts sind eigentlich gesetzt?
Wie kann ich mir da abhelfen, dass wenn nicht unmittelbar was bei
FUnktionsaufruf empfangen wird, dass die Funktion dann z.b. 0
zurückgibt?
mfg