HANDLE com1 = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
// проверка результата (дальше тоже проверяем, но я пропущу)
// ставим нужные тебе таймауты
// в данном случае ждать пока не придёт хотя бы один байт (или еррор)
COMMTIMEOUTS timeouts = { 0 };
SetCommTimeouts( com1, &timeouts);
// устанавливаем параметры из строки (часто так проще)
DCB dcb = { sizeof(DCB) };
// сначала считаем и заполним структуру тем, что мы менять не собираемся
GetCommState( com1, &dcb);
BuildCommDCB( "baud=9600 parity=N data=8 stop=1", &dcb);
// dcb.fRtsControl = RTS_CONTROL_ENABLE; ??? может надо, может нет
SetCommState( com1, &dcb);
// очищаем всякие буферы (лишнее, но, как говорится, не повредит)
PurgeComm( com1, PURGE_RXCLEAR | PURGE_TXCLEAR | PURGE_RXABORT | PURGE_TXABORT);
так же с СОМ2
и работаешь с ними через WriteFile, ReadFile
Posted via RSDN NNTP Server 1.9