logo search
несколько программ / bsp33

Инииализация портов асинхронного адаптера

Первая функция с кодом 00h предназначена для инициализации портов асинхронного адаптера:

Регистры на входе:

AH = 00h;

DX = номер порта адаптера: 0 - COM1, 1 - COM2;

AL = параметры инициализации

Регистры на выходе:

AH = состояние порта асинхронного адаптера;

AL = состояние модема

Параметры инициализации, предаваемые в регистре AL, перечислены ниже:

Поле

Описание

0-1

Длина слова:

00 - 5 бит;

01 - 6 бит;

10 - 7 бит;

11 - 8 бит

2

Количество стоповых бит:

0 - 1 бит;

1 - 2 бита

3-4

Контроль четности:

X0 - контроль на четность не используется;

01 - контроль на нечетность;

11 - контроль на четность

5-7

Скорость передачи данных в бодах:

000 – 110;

001 – 150;

010 – 300;

011 – 600;

100 – 1200;

101 – 2400;

110 – 4800;

111 – 9600

После вызова функции 00h в регистр AH записывается состояние порта асинхронного адаптера.

Формат регистра:

Поле

Описание

0

Истекло время ожидания. Если установлен этот бит, другие биты не имеют значения

1

Регистр сдвига передатчика пуст

2

Буферный регистр передатчика пуст

3

Обнаружено состояние BREAK

4

Ошибка синхронизации

5

Ошибка четности

6

Ошибка переполнения входного регистра

7

Данные готовы

Регистр AL содержит байт состояния модема.

Формат регистра:

Поле

Описание

0

Линия CTS изменила состояние

1

Линия DSR изменила состояние

2

Линия RI изменила состояние

3

Линия DCD изменила состояние

4

Состояние линии CTS

5

Состояние линии DSR

6

Состояние линии RI

7

Состояние линии DCD