#include
#include
BOOL fSuccess;
HANDGRIFF hSerial; //Handle für COM-Hafen
leeres initComm ()
{
COMMTIMEOUTS noblock;
DCB comSettings; //Various-Porteinstellungen
// initialisieren serielle Schnittstelle
hSerial = CreateFile („COM1“, //Open COM1
GENERIC_READ, nur //Read
0, //Exclusive-Zugang
NULL, //No-Sicherheits-Attribute
OPEN_EXISTING, //COM-Hafen existiert bereits
0,
NULL);
wenn (hSerial==INVALID_HANDLE_VALUE)
{
printf („unzulässiger Handgriff-Wert %d. \ n“, GetLastError ());
}
//Set-Abschaltung in Milisecs
fSuccess = GetCommTimeouts (hSerial, &noblock);
noblock.ReadTotalTimeoutConstant = 1;
noblock.ReadTotalTimeoutMultiplier = MAXWORD;
noblock.ReadIntervalTimeout = MAXWORD;
fSuccess = SetCommTimeouts (hSerial, &noblock);
//Set-Portparameter
fSuccess = GetCommState (hSerial, &comSettings);
wenn (! fSuccess)
{
printf („\ nGetCommState Störung! ");
}
comSettings.BaudRate = 9600;
comSettings.ByteSize = 8;
comSettings.fParity = FALSCH;
comSettings.Parity = NOPARITY;
comSettings.StopBits = ONESTOPBIT;
fSuccess = SetCommState (hSerial, &comSettings);
wenn (! fSuccess) {
printf („\ nSetCommState Störung! ");
}
printf („Comm-Hafen eingestellt \ n“);
}
//Read-Daten von der seriellen Schnittstelle
Putzfrau readComm ()
{
Putzfrau inBuffer;
int bytesRead;
fSuccess = ReadFile (hSerial, //Handle
&inBuffer, //Incoming-Daten
1000, //No-Bytes zum zu lesen
&bytesRead, //Bytes las
0);
wenn (bytesRead >0)
RückholinBuffer;
sonst Rückkehr 0;
}
|