Программирование модемов


Коммуникационная программа CHAT



Коммуникационная программа CHAT

В этой главе мы приведем исходный текст коммуникационной программы CHAT. В отличие от программы CHAT_S данная программа использует для работы с асинхронным адаптером прерывания.

При помощи этой программы можно связаться с удаленным модемом, передавать и принимать от него данные в формате ASCII. Например, вы можете позвонить на станцию BBS и прочитать почтовые сообщения. Передачу и прием файлов программа не поддерживает, иначе пример занимал бы слишком много места.

Данная телекоммуникационная программа может работать в двух режимах - активном, когда она сама производит вызов удаленного модема, и пассивном, когда программа находится в режиме ожидания звонка от удаленного модема. Для работы программы в активном режиме необходимо запустить ее с параметром "1", для пассивного режима - "0".

Большинство параметров программы, таких, как AT-команды инициализации, телефонный номер, скорость обмена и номер COM-порта, можно настроить через файл конфигурации setup.cfg. Образец этого файла представлен ниже:

// строка инициализации для режима активного вызова

Initialize ATS0=0Q0E0M1V1X4&C1&D2

// команда, которая переводит модем в командный режим и // кладет трубку

Dropline \d\d+++\d\dATH0\n\r\d

// строка инициализации для режима ожидания звонка

AutoAnswer ATS0=1Q0E0M1V1X4&C1&D2

// префикс телефонного номера

DialPrefix \r\pATDP

// суффикс телефонного номера

DialSuffix

// телефонный номер

DialNumber 1135810

// номер COM-порта в формате COMn, где n - номер порта

Device COM3

// время, отведенное на установку связи с удаленным модемом

DialTimeout 30 TimeoutAnswer 30

// временная задержка между сиимволами при передаче

CharDelay 0

// время реакции модема на команды

ModemTimeout 3

// скорость обмена данными

Speed 2400

Программа состоит из следующих модулей:

CHAT.C // главная процедура программы MODEM.C // передача данных модему через COM-порт TIMER.C // реализация временных задержек CONF.C // чтение файла конфигурации SEND_COMM.C // передача команд модему TOOLS.C // набор функций для работы с модулем UART.ASM UART.ASM // обработчик прерываний и процедуры низкого уровня




Начало  Назад  Вперед