Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как синхронизировать модем?


Автор: AndreyVN 28.6.2004, 14:03
Привет! Благодаря ответам huter'а созрел до названия темы:

Как синхронизировать работу Си'шной программы (прием/передача) и
состояние модема.

Ну никак не удается заловить данные со стороны модема. Ловится либо фрагмент ответа, либо фрагмент предыдущей посылки.

Пробовал вот так:
Здесь ожидается DSR, который, как мне кажется, есть начало приема
данных модемом.


Код
while(1){
    GetCommModemStatus(COMID[num],&ModemStatus);
    if( (ModemStatus & MS_DSR_ON) != 0) return true;
  }

Пробовал вот так:
Как винда трактует прием байта - бог его знает но результат такой-же.
Код

    commMask = (DWORD)(EV_RXCHAR);
    SetCommMask(COMID[num],commMask);

    WaitCommEvent(COMID[num],&CommEvents,NULL);


После приведенного кода всегда идет ReadFile(). Timeout и на прием и на передачу аж до 5 сек увеличил.

Подскажите что нибудь!

Всего доброго, Андрей.


Автор: _hunter 29.6.2004, 16:24
тогда вот статейка:
http://www.izone.kiev.ua/progr/delphi/282.htm
должна помочь ( хоть и на Delphi smile.gif )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)