Hallo Peter,
es kommen immer die gleichen Daten an.
Achtung der Programmcode ist recht groß zum darstellen.
(Programmsprache C++, mit Borland Compiler)
//-------------------------------------
// DEFINITIONEN AM ANFANG
// ------------------------------------
// globale Daten
DCB dcb; // Device Control Block
HANDLE hCom; // einfacher Datentyp für Schnittstelle
COMMTIMEOUTS timeouts; // System abhängige Definition
BOOL fSuccess; // vordefinierter Datentyp
DWORD BytesRead; // vordefinierter Datentyp
const int BAUD = 9600;
//-------------------------------------
// FUNKTION ZUM ÖFFNEN
// ------------------------------------
void TUser::PortOeffnen(){
/* BEGIN des INIT-BLOCKs der seriellen Schnittstelle */
// Öffnen der Schnittstelle, Definitionen siehe oben!
hCom = CreateFile(
ComPort,
dwDesiredAccess,
dwShareMode,
lpSecurityAttributes,
dwCreationDisposition,
dwFlagsAndAttributes,
hTemplateFile
);
// direktes Fehler abfangen der CreatFile-Funktion
PERR(hCom != INVALID_HANDLE_VALUE, "CreateFile");
if (hCom != INVALID_HANDLE_VALUE){
// Was liefert GetCommState?
fSuccess = GetCommState(hCom, &dcb);
PERR(fSuccess, "GetCommState");
// COM-Port einrichten --> Device Control Block
dcb.BaudRate = BAUD;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.fDtrControl = DTR_CONTROL_ENABLE;//DISABLE;
dcb.fInX = FALSE;
// Was liefert SetCommState?
fSuccess = SetCommState(hCom, &dcb);
PERR(fSuccess, "SetCommState");
// Was liefert GetCommTimeouts?
fSuccess = GetCommTimeouts (hCom, &timeouts);
PERR(fSuccess, "GetCommTimeouts");
/*
Set timeout to 0 to force that: If a character is in the
buffer, the
character is read, If no character is in the buffer, the function
do
not wait and returns immediatly
*/
timeouts.ReadIntervalTimeout = MAXDWORD;
timeouts.ReadTotalTimeoutMultiplier = 0;
timeouts.ReadTotalTimeoutConstant = 0;
fSuccess = SetCommTimeouts (hCom, &timeouts);
PERR(fSuccess, "SetCommTimeouts");
}
else
return;
/* ENDE des INIT-BLOCKs der seriellen Schnittstelle*/
return;
}
//--------------------------------------------------------------------
Ich hoffe das waren die relevanten Stellen.
BG
Bobo