Модемы и факс-модемы. Программирование для MS-DOS и Windows

       

Управляющий регистр


Управляющий регистр доступен для записи и чтения. Этот регистр управляет различными характеристиками UART: скоростью передачи данных, контролем четности, передачей сигнала BREAK, длиной передаваемых слов (символов).

D1-D0 Данные биты определяют длину передаваемых слов в битах:

Значение бит D1 D0

Длина передаваемых слов, бит

00

5



01

6

10

7

11

8

D2        Бит определяет количество стоповых бит:

Значение бита D2

Число стоповых бит

0

1

1

2

D3-D4 Биты управляют проверкой на четность:

Значение бит D3 D4

Режим проверки четности

00, 10

контроль на четность не выполняется;

01

выполняется проверка на нечетность;

11

выполняется проверка на четность

D5        Фиксация четности. При установке этого бита бит четности всегда принимает значение 0, если биты D3 D4 равны 11, или 1, если биты D3 D4 равны 01

D6        Установка перерыва. Вызывает вывод строки нулей в качестве сигнала BREAK для подключенного устройства

D7        Бит используется для доступа к регистру установки скорости. Если бит D7 равен единице, то регистр данных и регистр управления прерываниями используются для загрузки делителя частоты тактового генератора. Если бит D7 равен нулю, то регистр данных и регистр управления прерываниями используются как обычно

Для облегчения доступа к отдельным полям управляющего регистра можно воспользоваться следующим объединением:

// Смещение относительно базового адреса

#define LCR_N    3

// Управляющий регистр

typedef union _LCR_

{

     

struct

     

{

            

unsigned char len                                            : 2;

            

unsigned char stop                                   : 1;

            

unsigned char parity                           : 2;

            

unsigned char stuck_parity        : 1;

            

unsigned char en_break_ctl        : 1;

            

unsigned char dlab                                    : 1;

     

} bit_reg;

     

unsigned char byte;

} LCR;



Содержание раздела