Forum: PC-Programmierung Serielle Schnittstelle ReadFile


von Curby (Gast)


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

: Verschoben durch User
von Martin (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.