Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ногодрыганье COM порта
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
paskal
Под Win32 надо управлять линиями COMа. Для проверки состояния линий вызываю функцию GetCommModemStatus. Она возвращает cts,dsr,ri. А dcd - нету. Как читать состояние DCD?
И второе. Для управления линиями есть EscapeCommFunction. Но она за один вызов может дергать только одной линией RTS,DTR, или TX. А есть ли функция чтоб дергать ими одновременно?
_Артём_
Цитата(paskal @ Feb 15 2012, 18:53) *
Для проверки состояния линий вызываю функцию GetCommModemStatus. Она возвращает cts,dsr,ri. А dcd - нету. Как читать состояние DCD?

DCD=RLSD.
Зачем-то по другому назвали.

_pv
Цитата(paskal @ Feb 15 2012, 23:53) *
Как читать состояние DCD?
А есть ли функция чтоб дергать ими одновременно?


Код
  
  unsigned int status;
  GetCommModemStatus(hCom, (LPDWORD)&status);
  return status & MS_RLSD_ON ? 1 : 0;


Код
  
  DCB dcb;
  GetCommState( hCom, &dcb );
  dcb.fRtsControl = rts ? RTS_CONTROL_ENABLE : RTS_CONTROL_DISABLE;
  dcb.fDtrControl = dtr ? DTR_CONTROL_ENABLE : DTR_CONTROL_DISABLE;
  SetCommState( hCom, &dcb ) )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.