[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