Гудвинволшебник (01.09.2012 17:35, просмотров: 154) ответил scorpion на Что-то пыжи не едут. Функция
Привыкай к WideChar, братан ;) L"Com1"... Или так: HANDLE OpenCOMM(void)
{
WCHAR CP[10];
DCB dcb;
COMMTIMEOUTS CommTimeOuts;
swprintf(CP,L"COM1:");
HANDLE hPort = CreateFile( CP,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,//FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
NULL);
if(!GetCommState(hPort,&dcb))
{
CloseHandle(hPort);
return 0;
}
dcb.DCBlength=sizeof(dcb);
dcb.BaudRate=9600;
SetCommState(hPort,&dcb);
CommTimeOuts.ReadIntervalTimeout= 10;
CommTimeOuts.ReadTotalTimeoutMultiplier = 1;
// значений этих тайм – аутов вполне хватает для уверенного приема
// даже на скорости 110 бод
CommTimeOuts.ReadTotalTimeoutConstant = 50;
// используется в данном случае как время ожидания посылки
CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
CommTimeOuts.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hPort, &CommTimeOuts);
PurgeComm(hPort, PURGE_RXCLEAR);
return hPort;
}