Простые вопросы о программировании модемов
От: Night Owl Беларусь  
Дата: 22.08.02 19:12
Оценка:
Такой вопрос. Создаем соединение с ком портом.
HANDLE hCom = CreateFile(...);

Посылаем команду. Скажем ATI3.
WriteFile(hCom,"ATI3", ...);
ReadFile(hCom,AnswerModem, ...);

В выходном буфере что то типа эха. Частично мусор.
Если вставить задержку между записью и чтением то в буфере после эха и
мусора что то вроде ответа модема.

Как узнать, что уже можно читать ответ модема? и сколько читать?


Пытался через WaitCommEvent. Но на какое событие повеситься? Пытался вешаться
на все по очереди. Но ни одно не приходит. Помогите советом или исходиками.

Второй вопрос. Объясните какие события когда происходят.

#define EV_RXCHAR 0x0001 // Any Character received
#define EV_RXFLAG 0x0002 // Received certain character
#define EV_TXEMPTY 0x0004 // Transmitt Queue Empty
#define EV_CTS 0x0008 // CTS changed state
#define EV_DSR 0x0010 // DSR changed state
#define EV_RLSD 0x0020 // RLSD changed state
#define EV_BREAK 0x0040 // BREAK received
#define EV_ERR 0x0080 // Line status error occurred
#define EV_RING 0x0100 // Ring signal detected
#define EV_PERR 0x0200 // Printer error occured
#define EV_RX80FULL 0x0400 // Receive buffer is 80 percent full

Вон их сколько, а я один... И что с ними всеми делать?

И последний вопрос.
#CLS=8
#VLS=6
#VRX

По идее звук с микрофона и линии цифруется, пакуется и в буфер кладется.
Как узнать, что пора вытягивать очередную порцию?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.