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

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.