![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Помогите пожалуйста запрограммировать Lpt порт.
Задача состоит в том что бы можно было на Lpt порт скидывать числа (его обычные 8 бит) , а так же считывать состояние его входов (три входа, контакты 11-13). Я искал примеры работы с Lpt и сам смог состряпать только вот это: Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var
datay: byte;
begin
if datay=0 then begin
port[memw[$0040:0008]:=33;
datay:=33;
end
else if datay=33 then begin
port[memw[$0040:0008]:=36;
datay:=36;
end
else if datay=36 then begin
port[memw[$0040:0008]:=34;
datay:=34;
end
else if datay=34 then begin
port[memw[$0040:0008]:=40;
datay:=40;
end
else if datay=40 then begin
port[memw[$0040:0008]:=33;
datay:=33;
end;
end;Параметр datay изначально равен 0...это в другом блоке у меня записано. Эта программа для управления шаговым двигателем. Последовательная смена числа вызывает смещение на 1 шаг. А вот как читать что на входах я не знаю...кто может помогите. |
|
#2
|
||||
|
||||
|
Посмотрите здесь http://www.pcports.ru/articles/10.php или здесь http://valery-us4leh.narod.ru/PortCoding/cod01.html
|
|
#3
|
|||
|
|||
|
спасибо большое....думаю я уловил как делать теперь
![]() |
|
#4
|
|||
|
|||
|
проблема решилась не окончательно.
Цитата:
|
|
#5
|
|||
|
|||
|
Есть как раз программа программа как раз по библиотеке InpOut32.dll...
Помогает быстро освоится... позже выложу... |
|
#6
|
|||
|
|||
|
Писал когда-то мелочёвку используя InpOut.dll, работало корректно на 3-х машинах, на 4-ой не заработало.... после чего Не заработало ещё НЕ раз! ИМХО не универсально, к сожалению.
|