#include <stdio.h>

/**
*.Name         dtr_on
*
*.Title        Устанавливает сигнал DTR и RTS.
*
*.Descr        Эта функция устанавливает сигналы DTR и RTS
*              для заданного COM-порта.
*
*.Proto        void dtr_on( unsigned base_address );
*
*.Params       unsigned base_address - базовый адрес асинхронного адаптера
*
*.Return       не используется
*
*.Sample       dtr.c
**/

void dtr_on( unsigned base_address ) {

	unsigned char MCR;

	// считываем значение регистра управления модемом

	MCR = inp( base_address + 4 );

	// устанавливаем сигналы DTR и RTS в активное состояние

	MCR |= 3;

	// записываем новое значение в регистр управления модемом

	outp( base_address + 4, MCR );
}




/**
*.Name         dtr_off
*
*.Title        Сбрасывает сигналы DTR и RTS.
*
*.Descr        Эта функция сбрасывает сигналы DTR и RTS
*              для заданного COM-порта.
*
*.Proto        void dtr_on( unsigned base_address );
*
*.Params       unsigned base_address - базовый адрес асинхронного адаптера
*
*.Return       не используется
*
*.Sample       dtr.c
**/

void dtr_off( unsigned base_address ) {

	unsigned char MCR;


	// считываем значение регистра управления модемом

	MCR = inp( base_address + 4 );

	// сбрасываем сигналы DTR и RTS

	MCR &= 0xFC;

	// записываем новое значение в регистр управления модемом

	outp( base_address + 4, MCR );
}

