Re: Порты в Win NT
От: AlexY  
Дата: 31.07.01 19:40
Оценка:
Здравствуйте Marauder, вы писали:

M>Мне необходимо узнать, как из Visual C++ в системе Win NT можно работать с портами COM,LPT.

M>Было бы здорово посмотреть примерчик выдачи на любой контакт порта цифровой единички.

M>С Уважением,

M>(c) Marauder 2001

Так же, как с файлами, т.е. что-то типа:

HANDLE h = CreateFile( "COM1",
GENERIC_READ|GENERIC_WRITE,
NULL,
NULL,
OPEN_EXISTING,
NULL,
NULL);

if(h != INVALID_HANDLE_VALUE){
// set timeouts

CommTimeout.ReadIntervalTimeout = 2;
CommTimeout.ReadTotalTimeoutConstant = 1;
CommTimeout.ReadTotalTimeoutMultiplier = 1;
CommTimeout.WriteTotalTimeoutConstant = 0;
CommTimeout.WriteTotalTimeoutMultiplier = 0;

if(!SetCommTimeouts(h,&CommTimeout))
PrintError("SetCommTimeouts failed");

// set DCB
memset(&dcb,0,sizeof(dcb));
dcb.DCBlength = sizeof(dcb);
dcb.BaudRate = BaudRate;

dcb.fBinary = TRUE;
dcb.fDtrControl = DTR_CONTROL_DISABLE;

dcb.fOutxCtsFlow = FALSE;
dcb.fRtsControl = RTS_CONTROL_DISABLE;

dcb.Parity = Parity;
dcb.StopBits = StopBit;
dcb.ByteSize = DataSize;

if(!SetCommState(h,&dcb))
PrintError("SetCommState failed");

}
===========================
И т.д. и т.п. — короче, смотрите Communications в MSDN.

Успехов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.