Справочник программиста на персональном компьютере фирмы IBM. Ввод/вывод - Инициализация скорости обмена

ОГЛАВЛЕНИЕ

Инициализация скорости обмена.


   Делитель  скорости обмена это число, на которое надо разделить
частоту системных часов  (1190000  герц), чтобы получить желаемую
скорость обмена.  Например, для скорости обмена 1200 бод делитель
скорости обмена должен быть равен  96, поскольку 1190000/96 приб-
лиженно  равно  1200.  Чем больше делитель, тем  меньше  скорость
обмена. Скорости обмена 300 и  меньше  требуют двухбайтного числа
для делителя.  Старший байт посылается в 3F9H (или 2F9H), а млад-
ший в 3F8H (2F8H).  В  обоих  случаях  бит  7 регистра управления
линии  должен быть установлен в 1 перед засылкой значений; в про-
тивном случае по этим двум  адресам  значения  будут адресованы в
другие регистры (см. [7.1.0]).  Вот некоторые значения, требуемые
для обычных скоростей обмена:

   Скорость обмена             3F9H            3F8H

        110                     04H             17H
        300                     01H             80H
        600                     00H             C0H
       1200                     00H             60H
       1800                     00H             40H
       2400                     00H             30H
       3600                     00H             20H
       4800                     00H             18H
       9600                     00H             0CH

   Всегда  устанавливайте  регистры скорости обмена первыми,  так
как они единственные, которые требуют, чтобы был установлен бит 7
в  регистре контроля линии.  После этого надо изменить содержимое
регистра контроля линии,  сбрасывая  7-й бит, чтобы все остальные
доступы к регистрам были правильными.  Поскольку регистр контроля
линии является регистром только  для  записи, то нет способа вер-
нуть бит 7 обратно в 1 без одновременной установки всех остальных
битов этого регистра. Отметим, что PCjr использует другие делите-
ли, описание которых Вы можете найти в техническом руководстве.