[Comm] Программирование для COM-порта
Прокопьев Евгений
=?iso-8859-1?q?john_=CE=C1_rmts=2Edonpac=2Eru?=
Чт Янв 16 15:40:11 MSK 2003
Здравствуйте!
Как в программе на С устанавливать параметры COM-порта?
Ecть следующий код для оффтопика, необходимо написать его аналог:
#ifdef __WIN32__
handle = CreateFile(port.c_str(), GENERIC_READ|GENERIC_WRITE, 0,
NULL, OPEN_EXISTING, 0, NULL);
if (handle == INVALID_HANDLE_VALUE)
throw runtime_error("serial device "+port+" open error");
DCB dcb;
ZeroMemory(&dcb, sizeof(DCB));
if (!GetCommState(handle, &dcb))
throw runtime_error("serial device "+port+" get state error");
dcb.DCBlength=sizeof(DCB);
BuildCommDCB(params.c_str(), &dcb);
dcb.BaudRate = 600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = TWOSTOPBITS;
if (!SetCommState(handle, &dcb))
throw runtime_error("serial device "+port+" set state error");
COMMTIMEOUTS ct;
ZeroMemory(&ct, sizeof(COMMTIMEOUTS));
ct.ReadIntervalTimeout = MAXDWORD;
ct.ReadTotalTimeoutMultiplier = ct.ReadTotalTimeoutConstant = 0;
ct.WriteTotalTimeoutMultiplier = ct.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(handle, &ct);
#endif
--
С уважением, Прокопьев Евгений
Подробная информация о списке рассылки community