Реферат: Коммуникационные порты
Как уже говорилось выше, порт возвращает “0”, если на входе “0”, и “N”, если на данном входе “1”. Причём в некоторых случаях (особенно, при работе с LPT) “N” может быть равно сумме кодов ножек, если “1” присутствует не на одном входе.
Осуществляется приём следующим образом: e:=port[b+n] and m;
Где: e – переменная типа byte, в которую сохраняют принятое значение.
b – адрес БР порта.
n – номер подрегистра.
m – весовой коэффициент входа (см. таблицу 1 ).
Для проверки этой записи соединим перемычкой выход RTS(7) и вход CTS(8) и запустим приведённый ниже код: (пример 1 )
var
aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;
begin
port:=base+4;
data:=2;
outport(port,aa,data);
sleep(10);
port:=base+6;
e:=inport(port) and 16;
port:=base+4;
data:=0;
outport(port,aa,data);
end;
Управлять конкретными выводами порта из под Дельфи можно и с помощью API. Это хоть и сложнее, зато такая программа будет работать на любом Windows, в т.ч. на NT, 2000, XP (приведённые выше пример работоспособен лишь в 95/98/МЕ).
Список использованной литературы
1) Работа с коммуникационными портами (COM и LPT) в программах для Win32. http://bcb.net.ru/article/hard/index003.html
2) Коммуникационные порты персонального компьютера. http://electronics.org.ua/techinfo/lpt/lpt.htm
3) Основы программирования LPT для DOS и Win9x. http://radiopirat.h11.ru/prog/prog004.htm
4) Примеры работы с АЦП. http://dikoy44.narod.ru/photoalbum.html