Serielle Schnittstelle ReadFile

Gast #2387947
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren