порты

From
Ivan Zhakov (2:5030/66.116)
To
Alexey Litvinov
Date
2001-05-07T21:17:53Z
Area
SU.WINDOWS.NT.PROG
  Привет Alexey, как дела?!

     Понедельник , 07 Мая, 2001г в 10:51, ты писал к All
     по части: порты


 AL> Как читать писать в порты под НТ?
 AL> Конкретнее надо убирать/выставлять битики MCR отвечающие
 AL> за DTR и RTS в ком-порту (надо включать выключать пару ретрансляционных
 AL> усилителей).
 AL> Как такое провернуть под НТ? _outp() _inp() естественно не прокатывают.
 AL> Если есть в факе швырните им в меня ;) Или скажите где почитать, чето в
 AL> MSDN нифига не нашел...

Это делатся без поpтов, с помощью EscapeCommFunction. Пpедваpительно
отключив Handshake:

    HANDLE hCom;
    DCB dcb;

    hCom = CreateFile("COM2", GENERIC_READ|GENERIC_WRITE, 0, NULL,
            OPEN_EXISTING, 0, NULL);

    GetCommState(hCom, &dcb))

    dcb.BaudRate = 115200;
    dcb.ByteSize = 8;
    dcb.Parity = NOPARITY;
    dcb.StopBits = ONESTOPBIT;

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

    SetCommState(hCom, &dcb);

После этого:
    EscapeCommFunction(hCom, CLRDTR);
или
    EscapeCommFunction(hCom, SETDTR);


  С уважением, Ivan.

---
 * Origin:  (2:5030/66.116)