20.05.2019, 20:52 [+3 UTC]
в нашей команде: 3 624 чел. | участники онлайн: 9 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.75 (18.05.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
16.05.2019, 21:07

Последний вопрос:
20.05.2019, 20:36
Всего: 149653

Последний ответ:
20.05.2019, 18:18
Всего: 258494

Последняя рассылка:
20.05.2019, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
23.11.2009, 12:02 »
Рыскалев Максим Юрьевич
Отлично и развернуто. Спасибо большое! [вопрос № 174468, ответ № 256841]
01.12.2012, 09:27 »
Ляшенко Сергей Владимирович
оромное спасибо smile [вопрос № 186873, ответ № 271763]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 612
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 274
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 130

Перейти к консультации №:
 

Консультация онлайн # 69924
Раздел: • Assembler
Автор вопроса: MBO
Отправлена: 07.01.2007, 22:04
Поступило ответов: 1

Ребята как программировать COM-порт? Изменение выходного сигнала, вкл/выкл.....

Буду признателен любой инфе или ссылке. Спасибо.

Состояние: Консультация закрыта

Ответ # 135244 от Фёдоров М. Ф.

Здравствуйте, MBO!
Попробуй воспользоваться функциями 14h прерывания.
=====================================================
Инициализация асинхронной связи
Вызов функции:
AH=00h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
AL=параметры инициализации:
биты 0, 1:
-00:5-и битный код
-01:6-и битный код
-10:7-и битный код
-11:8-и битный код
бит 2:
-0:1 стоп-бит
-1:2 стоп-бита для 6-8 битного кода и 1,5 стоп-бита для 5-и битного
бит 3:
-0:1 стоп-бит
-1:2 стоп-бита для 6-8 битного кода и 1,5 стоп-бита для 5-и битного
бит 4:
-0:контроль по нечетности
-1:контроль по четности
биты 5-7:скорость обмена (бод)
-000:110
-001:150
-010:300
-011:600
-100:1200
-101:2400
-110:4800
-111:9600
Результаты:
AH=состояние линии управления
AL=состояние модема
=====================================================
Передача байта
Вызов функции:
AH=01h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
AL=байт данных для передачи
Результаты:
AH=состояние линии управления
=====================================================
Прием байта
Вызов функции:
AH=02h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
Результаты:
AH=состояние линии управления
AL=принятый байт
=====================================================
Получить состояние канала
Вызов функции:
AH=03h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
Результаты:
AH=состояние линии управления
-1ХХХХХХХ:тайм-аут
-Х1ХХХХХХ:конец передачи
-ХХ1ХХХХХ:готов к передачи
-ХХХ1ХХХХ:обрыв канала (авария)
-ХХХХ1ХХХ:ошибка по стоп-биту
-ХХХХХ1ХХ:ошибка по паритету
-ХХХХХХ1Х:переполнение
-ХХХХХХХ1:готов к приему
AL=состояние модема
-1ХХХХХХХ:детектор принимаемого линейного сигнала канала данных (цепь 109)
-Х1ХХХХХХ:индикатор вызова (цепь 125)
-ХХ1ХХХХХ:аппаратура готова (цепь 107)
-ХХХ1ХХХХ:готов к передаче (цепь 106)
=====================================================
Расширенная функция инициализация
Вызов функции:
AH=04h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
AL= 0 - без обработкой Break; 1 - с обработкой Break
BH=
0 - нет контроля
1 - контроль по нечетности
2 - контроль по четности
3 - stick, контроль по нечетности
4 - stick, контроль по четности
BL= 0 - 1 стоп-бит; 1 - 2 стоп-бита для 6-8 битного кода и 1,5 стоп-бита для 5-и битного кода
CH=
0 - 5-и битный код
1 - 6-и битный код
2 - 7-и битный код
3 - 8-и битный код
CL= скорость передачи (бот)
0 - 110 бот
1 - 150
2 - 300
3 - 600
4 - 1200
5 - 2400
6 - 4800
7 - 9600
8 - 19200
Результаты:
AH=состояние линии управления
AL=состояние модема
=====================================================
Расширеная функция управления
Вызов функции:
AH=05h
DX=номер канала (0-3) в соответствие с таблицей портов по адресу 0000:0040h
AL= 0 - чтение регистра управления модемом; 1 - запись регистра управления модемом
BL=состояние регистра управления модемом при AL=1
Результаты:
AH=состояние линии управления
AL=состояние модема
BL=состояние модема при AL=0

Значения BL:
-111ХХХХХ:0
-ХХХ1ХХХХ:цикл (возможность диагностирования)
-ХХХХ1ХХХ:управление выходом OUT2
-ХХХХХ1ХХ:управление выходом OUT1
-ХХХХХХ1Х:запрос на передачу (цепь 105)
-ХХХХХХХ1:терминал данных готов (DTR, цепь 108)

Вот и все функции


Консультировал: Фёдоров М. Ф.
Дата отправки: 08.01.2007, 00:07

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14681 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.75 от 18.05.2019
Версия JS: 1.33 | Версия CSS: 3.35