Регистр данных
Регистр данных расположен непосредственно по базовому адресу COM-порта и используется для обмена данными и для задания скорости обмена.
При передаче данных в этот регистр необходимо записать передаваемый байт данных. После приема данных от внешнего устройства принятый байт можно также прочитать из этого же регистра.
В зависимости от состояния старшего бита управляющего регистра (расположенного по адресу base_adr + 3, где base_adr соответствует базовому адресу COM-порта) назначение этого регистра может изменяться. Если старший бит равен нулю, регистр используется для записи передаваемых данных. Если же старший бит равен единице, регистр используется для ввода значения младшего байта делителя частоты тактового генератора. Изменяя содержимое делителя, можно изменять скорость передачи данных. Старший байт делителя записывается в регистр управления прерываниями по адресу base_adr+ 1.
Зависимость скорости передачи данных от значения делителя частоты представлена в следующей таблице:
Делитель, десятичная форма | Делитель, шестнадцатиричная форма | Скорость передачи, бит за секунду | |||
1040 | 600h | 110 | |||
768 | 300h | 150 | |||
384 | 180h | 300 | |||
192 | 0C0h | 600 | |||
96 | 60h | 1200 | |||
48 | 30h | 2400 | |||
24 | 18h | 4800 | |||
12 | 0Ch | 9600 | |||
8 | 8h | 14400 | |||
6 | 6h | 19200 | |||
3 | 3h | 38400 | |||
2 | 2h | 57600 | |||
1 | 1h | 115200 |
Как следует из этой таблицы, максимальная скорость обмена информацией, которую можно достичь при использовании асинхронного адаптера, достигает 115200 бит за секунду, что примерно соответствует 12 Кбайт в секунду.