Ожидание ответа от модема
В зависимости от режима, в котором находится модем, он может передавать компьютеру различные сообщения. Например, если модем производит вызов удаленного модема (AT-команда ATD), то он может выдать следующие сообщения:
Сообщение | Смысл | ||
CONNECT | Успешное соединение | ||
BUSY | Номер занят | ||
NO DIALTONE | На линии отсутствует сигнал коммутатора | ||
NO ANSWER | Абонент не отвечает | ||
NO CARRIER | Неудачная попытка установить связь |
Когда приходит звонок, модем передает компьютеру сообщение RING, если регистр модема S0 равен нулю. В этом случае для ответа на звонок надо послать модему команду ATA. Если модем находится в режиме автоответа и регистр модема S0 не равен нулю, то модем автоматически пытается ответить на звонок и может выдать следующие сообщения:
Сообщение | Смысл | ||
CONNECT | Успешное соединение | ||
NO DIALTONE | На линии отсутствует несущая частота от удаленного модема | ||
NO CARRIER | Неудачная попытка установить связь. |
Если модем передал компьютеру сообщение CONNECT, значит, он успешно выполнил соединение и теперь работает в режиме передачи данных. Теперь все данные, которые вы передадите модему через COM-порт, будут преобразованы модемом в форму, пригодную для передачи по телефонным линиям, и переданы удаленному модему. И наоборот, данные, принятые модемом по телефонной линии, переводятся в цифровую форму и могут быть прочитаны через COM-порт, к которому подключен модем.
Если модем передал компьютеру сообщения BUSY, NO DIALTONE, NO ANSWER, NO CARRIER, значит, не удалось образовать соединение с удаленным модемом и надо попытаться повторить соединение.
Для разных модемов и разных режимов его работы набор сообщений может быть шире, чем мы указали в таблицах. Получить больше информации о сообщениях модема можно в разделе "Система команд hayes-модемов" и документации модема. Особое внимание следует обратить на команды Q, V, X.