Пример программы передачи данных
Приведем пример программы, использующей описанные выше функции для изменения скорости передачи данных и для проверки асинхронного адаптера. Для правильной работы программы выход асинхронного адаптера должен быть соединен с его входом.
// Программа работает с асинхронным адаптером 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)); } }