Аппаратное обеспечение IBM PC

       

Пример программы передачи данных


Приведем пример программы, использующей описанные выше функции для изменения скорости передачи данных и для проверки асинхронного адаптера. Для правильной работы программы выход асинхронного адаптера должен быть соединен с его входом.

// Программа работает с асинхронным адаптером 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)); } }



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