Прием данных



6.5.3. Прием данных

Аналогично передаче данных, перед вводом символа из порта приемника 3F8h необходимо убедиться в том, что бит 0 порта 3FDh установлен в 1. Это означает, что символ принят из линии и находится в буферном регистре приемника.

Для приема данных мы подготовили следующую функцию: /** *.Name aux_inp *.Title Ввод символа из асинхронного адаптера * *.Descr Эта функция дожидается готовности * приемника и вводит символ из асинхронного * адаптера. * *.Proto char aux_inp(int port); * *.Params int port - номер асинхронного адаптера: * 0 - COM1, 1 - COM2 * *.Return Принятый символ * *.Sample aux_test.c **/ #include <stdio.h> #include <conio.h> #include "sysp.h" char aux_inp(int port) { unsigned status_reg, inp_reg; status_reg = 0x3fd - 0x100 * port; inp_reg = status_reg - 5; while( (inp(status_reg) & 1) == 0 ); return(inp(inp_reg)); }



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