Z.B. dieser hier:
HANDLE hPort=NULL;
DWORD dwError=0;
hPort=CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hPort == INVALID_HANDLE_VALUE)
{
return 0;
}
else
{
PurgeComm(hPort, PURGE_TXABORT | PURGE_RXABORT |
PURGE_TXCLEAR | PURGE_RXCLEAR ) ;
DCB dcb;
GetCommState(hPort,&dcb);
dcb.DCBlength = sizeof(DCB);
dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
dcb.Parity = NOPARITY;
if (SetCommState(hPort, &dcb) == NULL)
{
dwError = GetLastError();
if(hPort != INVALID_HANDLE_VALUE)
CloseHandle(hPort);
SetLastError(dwError);
return 0;
}
else
{
SetupComm(hPort,512,512);
COMMTIMEOUTS cto;
GetCommTimeouts(hPort,&cto);
cto.ReadTotalTimeoutConstant = 50;
if (SetCommTimeouts(hPort,&cto) == NULL)
{
dwError = GetLastError();
if(hPort != INVALID_HANDLE_VALUE)
CloseHandle(hPort);
SetLastError(dwError);
return 0;
}
else
{
char cTemp;
DWORD dw1=0;
for (int i=0; i<40; i++)
{
ReadFile(hPort, &cTemp, 1, &dw1, NULL);
printf ("%i ",cTemp);
}
}
}
}
CloseHandle(hPort);
printf ("\nfertig...");
getch();
return 0;
[/PHP]
Hab ihn an mehreren PC`s ausprobiert. Wenn nichts an das Port gesendet wurde, kahm immer die -52.
Hab mein Problem jetzt aber anders gelöst:D