Учебное пособие: Средства машинной коммуникации персонального компьютера
02 – разрыв линии или наличие ошибки
03 – изменение уровня сигналов RIS0, RI, DSR, CTS.
Нуль – модем
Соединение передатчика и приемника через кабель. RS – 232 стандартизирует обмен между двумя устройствами.
Нуль – модем (9 pin)
???? ? ????? (25 pin)
С помощью такого можно реализовать более сложные протоколы.
Программирование последовательного порта
СОМ1: 0040: 00003F8H – базовый адрес
СОМ2: 0040: 00022F8H – базовый адрес
СОМ3: 3E8H
СОМ4: 2E8H
Адреса регистров:
Смещение от базы | Регистр |
0, OUT | DLAB=0, регистр хранения передатчика |
0, IN | DLAB=0, регистр данных приемника |
0, OUT | DLAB=1, делитель скорости обмена, младший байт |
1, OUT | DLAB=1, делитель скорости обмена, старший байт |
1, OUT | DLAB=0, регистр разрешения прерывания |
3, OUT | DLAB=0, регитср управления линией |
4, OUT | Регистр управления модемом |
5, IN | Регистр статуса линии |
6, IN | Регистр статуса модема |
Скорость обмена
Делитель | Делитель HEX | Скорость бод |
1040 | 600 | 110 |
768 | 300 | 150 |
384 | 180 | 300 |
192 | С0 | 600 |
96 | 60 | 1200 |
48 | 30 | 2400 |
24 | 18 | 4800 |
12 | С | 9600 |
Пример простейшей коммуникационной программы (см. рисунок ниже)
Алгоритм работы программы:
Инициализация портов связи
Ввести символ с клавиатуры, отобразить на экране, передать в порт.
Ввести символ с порта, отобразить в окне «прием».
Инициализация порта
Установка вормата передаваемых данных.
Установка скорости передачи.
Инициализация регистра прерывания.
Задание формата.
Считывается текущее состояние регистра управления линией.
Изменяется нужные биты регистра.
Записывается новое значение.
Задание скорости:
Старший бит регистра управления линией устанавливается в 1 (DLAB=1).
Младший байт делителя частоты записывается в регистр данных.