Раздел: Документация
0 1 2 3 4 5 ... 55 Пример 1.1. Вывести байт 41 h (код латинской прописной буквы А) в порт RS232
2. Установка скорости обмена по интерфейсу RS232. Скорость обмена по интерфейсу устанавливается следующим образом. Вначале в порт с адресом 3fbh (см. далее) необходимо записать байт, равный 80h, далее в порт с адресом 3f8h — младший байт делителя максимальной скорости обмена 115200 бод, а затем в порт 3f9h -старший байт делителя. Как правило, старший байт делителя используется достаточно редко (для очень медленных скоростей обмена), поэтому он должен быть равен нулю. Если в младший байт (3f8h) записать 1, то скорость обмена будет равна, как указывалась, 115200 бод. При записи 2 имеем: 115200/2 = 57600 бод; при записи 3 - 115200/3-38400 бод; при записи 12 - 115200/12 = 9600 бод и т.п. Пример 1.3. Установить скорость обмена 9600 и 115200 бод. Поскольку эта операция осуществляется только один раз - при инициализации порта, она не требует высокой скорости и приводится только на Бейсике и Кларионе.
Регистр разрешения прерываний (interrupt enable register). Адрес 3f9h. Доступен только для записи. Для того чтобы разрешить перечисленные ниже прерывания, необходимо записать в этот регистр байт, содержимое которого приводится в следующей таблице. 7 6 5 4 3 О О / О Бит №: -► 0: >2: -Разрешение прерывания, когда принятые данные готовы. -Разрешение прерывания, когда буфер передатчика пуст. -Разрешение прерывания по состоянию бит ERROR или BREAK. -Разрешение прерывания по состоянию бит CTS,DSR,RI,DCD. Отметим, что для того, чтобы задействовать этот регистр как регистр разрешения прерываний, а не как старший байт делителя для установки скорости обмена, имеющий тот же адрес (3f9h), нужно вначале обнулить бит 7 в порту с адресом 3fbh (см. с. 11). Регистр идентификации прерывания (interrupt identification register). Адрес 3fah. Доступен только для чтения. Читая содержимое трех младших бит этого регистра, можно определить источник прерывания. 7 6 5 4 3 2 1 0 Бит №: -► 0: >2: - Прерываний нет. 00: Прерывание по состоянию линий модема. Устанавливается при изменении состояния линий CTS, DSR, RI или DCD. Сбрасывается при чтении регистра состояния модема (адрес 3feh - см. далее). 01: Регистр передатчика пустой. Сбрасывается после записи новых данных в регистр данных (адрес 3f8h). 10: Принятые данные готовы для чтения. Сбрасывается после чтения данных из регистра данных (адрес 3f8h). 11: Прерывание по значению регистра состояния линий приемника (адрес 3fdh). Возникает при переполнении (ОЕ), ошибке паритета (РЕ), ошибке формата (FE) или сигналу BREAK (BI). Сбрасывается при чтении регистра состояния линий приемника (адрес 3fdh). Регистр управления линиями (line control register). Адрес 3fbh. Доступен по записи и чтению. Определяет формат передаваемых данных, контроль паритета, количество стоп-бит, управляет линией TxD при отсутствии передачи и устанавливает скорость обмена. 7 6 5 4 3 2 1 0 Бит №: -►з 071 Установить длину слова в битах: 1J 00-5,01 - б, 10-7, И -8. 2: Установить количество стоп-бит: 0 - 1 бит, 1 - 2 бита. -►4 -►5 >б: >7 }Установить паритет (четкость): Х0 - нет, 01 - нечетность, 11 - четность. Установить паритет: 1 - бит четности равен 0, если биты 3 и 4 равны 11; бит четности равен 1, если биты 3 и 4 равны 01. Разрешить выдачу сигнала BREAK в отсутствие передачи. 1 - Перевести линии TxD в состояние 0 (-10 В) - сигнал BREAK. 0- Перевести линии TxD в состояние 1(+10В). Установить скорость обмена/Обычный режим. 1- Установить скорости обмена в регистрах 3f8h и 3f9h. 0 - Регистры 3f8h и 3f9h используются в обычном режиме. Регистр управления модемом (modem control register). Адрес 3fch. Доступен по записи. Управляет линиями DTR и RTS и диагностикой интерфейса RS232. 7 6 5 4 3 2 1 0 о 1 о о Бит №: -► 0: 1 - >1:1 -►2: 3: ->4:1- Установить сигнал на линии DTR в лог.1 (+10 В), 0 - в лог.О (-10 В). Установить сигнал на линии RTS в лог.1 (+10 В), 0 - в лог.О (-10 В). Установить запасную линию OUT1 (не используется), установить запасную линию OUT2 (не используется). Замкнуть линию TxD на линию RxD для диагностики порта, 0 - обычный режим. Регистр состояния линии (line status register). Адрес 3fdh. Доступен по чтению. Контролирует правильность обмена по интерфейсу RS232. 0 1 2 3 4 5 ... 55
|