Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для использования реализованного модема V.21 пользователю надо вызывать только две функции. Конечный автомат, который реализован в функции modem(), используется для отслеживания текущего состояния (продолжается связь или нет). Вторая функция - Modemlnit (). При вызове этой функции внутреннее состояние модуля изменятся на CommandMode. Это начальное состояние, в котором происходит установка модуля в режим ожидания входящего вызова. Также Modemlnit() выполняет основную инициацию программного модема V.21. На рисунке 16 показан упрощенный граф конечного автомата. В нем не отображены некоторые процессы (простой и переход в состояние CommandMode).
Первый вызывной сигнал переводит модем в состояние RingDetection. После обнаружения следующего вызывного сигнала алгоритм детектирования вызывного сигнала устанавливает флаг состояния OFF_HOOK. Это приводит к переходу в состояние AnsweringHandshake. После установления связи конечный автомат переходит в режим DataMode. Теперь модем полностью активен и передача данных по телефонной линии возможна путем простого обращения к модулю USART MSP430.
Окончание связи другим модемом определяется при помощи следующего алгоритма: Периодически вызываемая функция modem() сбрасывает флаг OFF_HOOK. При наличии входного сигнала флаг OFF_HOOK будет установлен снова при каждом обнаружении перехода сигналом через ноль (Timer_A.CCR1 ISR). Если входной сигнал отсутствует, то функция modem() генерирует условие простоя, останавливает работу модуля FSK, повторно инициализирует программный модем и переходи в режим CommandMode.
Дата публикования: 2014-11-18; Прочитано: 251 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!