Регистр управления модемом
Регистр управления модемом управляет состоянием выходных линий DTR, RTS и линий, специфических для модемов - OUT1 и OUT2. Формат регистра представлен ниже:
D0 Линия DTR. Сигнал подтверждения связи. Используется модемами для разрешения передачи данных между компьютером и микросхемой UART
D1 Линия RTS. Сигнал подтверждения связи. Используется модемами для разрешения передачи данных между компьютером и микросхемой UART
D2 Линия OUT1. Для некоторых модемов при установке этого бита в единицу происходит его аппаратный сброс
D3 Линия OUT2. Если бит D3 содержит единицу, то UART может вырабатывать прерывания, а если нулю - не может
D4 Запуск диагностики при входе асинхронного адаптера, замкнутом на его выход (Digital Loopback test). Эта возможность реализована только для асинхронных портов, использующих микросхему UART 8250, или полностью совместимых с ней
D7-D5 Должны быть равны 0
Регистр управления модемом определен нами в файле UART_REG.H следующим образом:
// Смещение относительно базового адреса
#define MCR_N 4
// Регистр управления модемом
typedef union _MCR_
{
struct
{
unsigned char dtr : 1;
unsigned char rts : 1;
unsigned char out1 : 1;
unsigned char out2 : 1;
unsigned char diag : 1;
unsigned char reserv : 3;
} bit_reg;
unsigned char byte;
} MCR;