Модемы и факс-модемы. Программирование для MS-DOS и Windows

       

Модемы и факс-модемы. Программирование для MS-DOS и Windows

Аннотация
Предисловие
Зачем нужны модемы и факс-модемы

Модемы и факс-модемы
Основные понятия
Боды, биты за секунду и символы в секунду
Биты за секунду
Символы за секунду
Боды
Модуляция сигнала


Дуплексный и полудуплексный режимы
Асинхронная и синхронная передача данных
Рекомендации CCITT для модемов

CCITT V.21
CCITT V.22
CCITT V.22 bis
CCITT V.23
CCITT V.32
CCITT V.32 bis
CCITT V.34
Bell 103, Bell 212A
Коррекция ошибок и сжатие информации
Протоколы коррекции ошибок

Протоколы компрессии передаваемых данных
Протоколы MNP
Рекомендация CCITT V.42
Рекомендация CCITT V.42 bis
Рекомендации CCITT для факс-модемов
Управление модемами
Система команд hayes-модемов
Расширенный набор AT-команд
Префикс AT
Ответ на вызов удаленного модема (команда A)

Повтор последней введенной команды (команда A/)
Выбор протокола обмена данными (команда B)
Управление несущей частотой (команда C)
Вызов абонента (команда D)
Управление эхо-выводом команд (команда E)
Выбор стандарта связи (команда F)
Управление телефонной линией (команда H)
Выдача идентификационного кода модема (команда I)
Установка громкости внутреннего динамика (команда L)

Управление внутренним динамиком (команда M)
Управление ответом модема на AT-команды (команда Q)
Перевод модема из командного режима в режим передачи данных (команда O)
Чтение и запись в регистры модема (команда S)
Выбор вида ответа модема на AT-команды (команда V)
Стандартный набор ответов модема
Выбор набора сообщений модема (команда X)
Выбор способа отключения модема от линии (команда Y)
Сброс конфигурации модема (команда Z)
Escape-последовательность

Управление сигналом DCD (команда C)
Управление сигналом DTR (команда D)
Установка конфигурации, записанной в постоянной памяти (команда F)
Включение/выключение защитной частоты (команда G)
Управление потоком (команда K)
Выбор линии связи (команда L)
Установка асинхронного/синхронного режима работы (команда M)
Установка импульсного коэффициента набора номера (команда P)
Управление сигналом CTS (команда R)
Управление сигналом DSR (команда S)

Тестирование модема (команда T)
Чтение текущей конфигурации модема (команда V)
Запись конфигурации модема в энергонезависимую память (команда W)
Запись телефонного номера в энергонезависимую память (команда Z)
Регистры модемов
Регистр S0
Коррекция ошибок и сжатием информации
Команды модемов с протоколом MNP, CCITT V.42 и V.42 bis
Выбор размера блоков протокола MNP (команда \A)
Передача сигнала прерывания (команда \B)

Управление сжатием данных (команда %C)
Контроль качества связи (команда %E)
Управление протоколом XON/XOFF (команда \G)
Управление скоростями передачи данных (команда \J)
Управление обработкой сигнала BREAK от удаленного модема (команда \K)
Выбрать потоковый или блочный метод обмена данными (команда \L)
Определить уровень сигнала на линии (команда %L)
Выбор режима обмена данными (команда \N)
Управление факс-модемами

Ваш первый модем
Внутренние и внешние модемы
Подключение модема к компьютеру
Телекоммуникационные программы
Приложение Terminal
Меню "File"
Меню "Edit"

Меню "Settings"
Меню "Phone"

Меню "Transfers"
Протоколы передачи файлов
Протокол ASCII
Протокол Bimodem
Протокол Kermit
Протоколы Xmodem
Xmodem
Xmodem CRC
Протокол Ymodem

Протокол Zmodem
Программа Telix
Настройка программы Telix
Вызов удаленного абонента
Передача и прием файлов
Программа MTE
Программа Comit
Программа Bitcom

Факс-модем и Windows for Workgroups 3.11
Передача факсимильного сообщения
Прием факсимильных сообщений
Асинхронный адаптер
Основные понятия и термины

Аппаратная реализация

Модемы и факс-модемы. Программирование для MS-DOS и Windows

Сигналы интерфейса RS-232-C
Подтверждение связи

Управление потоком
Нуль-модем
Порты асинхронного адаптера
Регистр данных
Регистр управления прерываниями
Регистр идентификации прерывания
Управляющий регистр
Регистр управления модемом
Регистр состояния линии

Регистр состояния модема
Современные микросхемы UART
Как определить тип микросхемы UART
Программа для определения типа микросхемы UART
Изменения в регистрах UART 16550A
Как использовать буферизацию?
Первая телекоммуникационная программа

Инициализация асинхронного адаптера
Передача данных
Прием данных
Обработка прерываний COM-порта
Механизм прерываний
Таблица векторов прерываний
Маскирование прерываний

Обработка аппаратных прерываний и контроллер прерываний
Поддержка асинхронного адаптера в BIOS
Поддержка асинхронного адаптера в MS-DOS
Стандартные функции библиотеки Си

Программирование модемов
Принципы программирования модемов
Инициализация COM-порта
Инициализация модема
Соединение с удаленным модемом
Ожидание ответа от модема
Переключение модема в командный режим

Сброс сигналов на линиях DTR и RTS
Коммуникационная программа
Использование прерываний COM-порта
Обработка прерываний асинхронного адаптера
Разрешить обработку прерываний
Определить причину прерывания
Произошло прерывание по линии состояния
Прерывание по принятию данных
Буфер передатчика пуст
Изменилось состояние модема

Считать регистр идентификации прерывания
Обработать конец прерывания
Последовательность работы программы
Установить обработчик прерываний
Выполнить инициализацию COM-порта
Выполнить инициализацию контроллера прерываний
Выполнить инициализацию модема и установить связь
Начать обмен данными с удаленным модемом
Завершить программу
Программа CHATINT

Использование FOSSIL-драйверов
Взаимодействие программы с FOSSIL-драйвером
Установка скорости передачи данных

Передача символа с ожиданием
Прием символа с ожиданием
Определение состояния драйвера
Инициализация FOSSIL-драйвера (COM-порта)
Деинициализация драйвера
Управление линией DTR
Определение параметров системного таймера
Сброс буфера передатчика
Сброс буфера приемника

Передача символа без ожидания
Чтение символа из буфера без удаления
Чтение символа из буфера клавиатуры
Чтение символа из буфера клавиатуры с ожиданием
Дополнительная функция для управления потоком
Установить положение курсора
Определение текущего положения курсора
Вывод символа на экран
Отслеживание сигнала DCD

Установка и удаление функций, вызываемых по таймеру
Перезагрузка системы
Чтение блока данных из буфера драйвера
Запись блока данных в буфер драйвера
Передача сигнала BREAK
Получение информации о драйвере
Установка внешней функции обработчика
Отключение внешней функции обработчика
FOSSIL-драйвер и эмуляция протокола MNP

Определить состояние эмулятора MNP
Управление уровнем протокола MNP
Управление режимом работы эмулятора
Ожидание соединения
Управление звуком
Удалить FOSSIL-драйвер из памяти
Определение номера версии эмулятора MNP
Временная задержка

Модемы и операционная система Windows
Драйвер асинхронного последовательного адаптера
Телекоммуникационные функции
Функция OpenComm
Функция CloseComm
Первая программа

Определение доступных портов
Функция SetCommState
Структура DCB
Поле Id
Поле BaudRate
Поле ByteSize

Модемы и факс-модемы. Программирование для MS-DOS и Windows

Поле Parity
Поле StopBits
Поле RlsTimeout

Поле CtsTimeout
Поле DsrTimeout
Поле fBinary
Поле fRtsDisable
Поле fParity
Поле fOutxCtsFlow
Поле fOutxDsrFlow
Поле fDtrDisable
Поле fOutX
Поле fInX

Поле fPeChar
Поле fNull
Поле fChEvt
Поле fDtrflow
Поле fRtsflow
Поле XonChar
Поле XoffChar
Поле XonLim
Поле XoffLim
Поле PeChar

Поле EofChar
Поле EvtChar
Поле TxDelay
Как заполнить или модифицировать структуру DCB
Функция BuildCommDCB
Функция SetCommBreak
Функция ClearCommBreak
Функция EnableCommNotification
Функция FlushComm

Функция GetCommError
Функция SetCommEventMask
Функция GetCommEventMask
Функция GetCommState
Функция ReadComm
Функция TransmitCommChar
Функция UngetCommChar
Функция WriteComm
Сообщение WM_COMMNOTIFY

Приложение EASYTTY
Приложение PHONE
Приложение TELETYPE
Приложения
Технические параметры интерфейса RS-232-C
Разводка разъемов DB25 и DB9
Соединительные кабели
Команда MODE операционной системы MS-DOS
Литература

Предметный указатель
Оглавление