// Программа работает с асинхронным адаптером COM1.
// Для правильной работы необходимо замкнуть
// вместе контакты 2 и 3 разъема COM1.

#include <stdio.h>
#include <conio.h>
#include "sysp.h"

void main(void);
void main(void) {

	AUX_MODE amd;

	aux_stat(&amd, 0);
	printf("\nСостояние порта COM1:"
			 "\nКод длины символа:    %d"
			 "\nКод числа стоп-битов: %d"
			 "\nКонтроль четности:    %d"
			 "\nСкорость передачи:    %lu",
			 amd.ctl_aux.ctl_word.len,
			 amd.ctl_aux.ctl_word.stop,
			 amd.ctl_aux.ctl_word.parity,
			 (unsigned long)amd.baud);

	amd.baud = 115200;

	aux_init(&amd, 0, 0);

	aux_stat(&amd, 0);
	printf("\nСостояние порта COM1:"
			 "\nКод длины символа:    %d"
			 "\nКод числа стоп-битов: %d"
			 "\nКонтроль четности:    %d"
			 "\nСкорость передачи:    %lu",
			 amd.ctl_aux.ctl_word.len,
			 amd.ctl_aux.ctl_word.stop,
			 amd.ctl_aux.ctl_word.parity,
			 (unsigned long)amd.baud);

	printf("\n\nТестирование асинхронного адаптера."
			 "\nНажимайте клавиши!"
			 "\nДля завершения работы нажмите CTRL-C"
			 "\n");

	for(;;) {

// Вводим символ с клавиатуры и передаем его
// в асинхронный адаптер

		aux_outp(getch(), 0);

// Вводим символ из асинхронного адаптера и
// отображаем его на экране

		putchar(aux_inp(0));
	}
}

