Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

LPT   Найти похожие ветки 

 
Den_lam ©   (2004-01-05 09:38) [0]

Есть девайс. Общаться с ним надо через LPT.  Для начала общения нужно выставлять на определённые линии(контакты) разъёма порта логические "0" или "1". Как это делается.
Уже пробовал общаться с портом вот так:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, ComCtrls, ExtCtrls ;
type
 TForm1 = class(TForm)
   Memo1: TMemo;
   Timer1: TTimer;
   Button1: TButton;
   Edit1: TEdit;
   Button2: TButton;
   //procedure Timer1Timer(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 buf101:DWord;
 implementation

{$R *.DFM}
{procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (Port[LPT] and $0040)=0 then  begin
beep;
Timer1.enabled:=false;
end;
end;
}

procedure TForm1.Button1Click(Sender: TObject);
var
Fhandle:Thandle;
buffer:integer;
buf01:DWord;
begin
FHandle:=CreateFile("LPT1",GENERIC_WRITE AND
GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
ReadFile(FHandle,buffer, 8, buf01, nil);
Edit1.text:=inttostr(buffer);
CloseHandle(FHandle);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Fhandle:Thandle;
Fuck: integer;
begin
fuck:=98767;
FHandle:=CreateFile("LPT1",GENERIC_WRITE AND
GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
WriteFile(FHandle,fuck,8,buf101,Nil);
CloseHandle(FHandle);
end;

end.  

По процедуре WriteFile читается одно и то же левое число(типа 1264264). В чём ошибка? (кроме ДНК естественно:) )


 
Anatoly Podgoretsky ©   (2004-01-05 09:43) [1]

Размер fuck, buffer ни как не 8 байт


 
Den_lam ©   (2004-01-05 10:33) [2]

Я менял размеры - то же самое.
Я вообще правильно понял, что третьи параметры в процедурах Read и Write file - это обыкновенные переменные?


 
tesseract ©   (2004-01-06 10:06) [3]

Подожди пока девайс оклимается, а режим порта ecp или epp?


 
N169   (2004-01-06 11:38) [4]

Если общаться с девайсом через стандартный api, то надо быть уверенным, что девайс поддерживает станд. протокол обмена, напр., №1284.
Если это не так, то надо использовать сторонние компоненты для работы с портом LPT как с набором регистров, и формировать протокол самостоятельно.


 
Sniper-Max ©   (2004-01-06 12:13) [5]

Я писал с ассемблерным кодом, под 2000 не пашет естественно.
Надо компонент надыбать какой-нибудь для работы с ним, слашал, что есть такой, но все никак не займусь этим...

Надо заняться, а то у меня проблемма как принять эти логические уровни...


 
Release ©   (2004-01-06 13:43) [6]

Не так давно я решал подобную проблему. Есть замечательная библиотека для доступа к любым портам - ntport.dll. Работает и под NT и под Win9x.  Пример работы с LPT для Delphi прилагается. Всё просто, и главное надёжно. Сайт разработчика  www.zealsoft.com . У меня есть версия 1.0 и кряка к ней. К версии 2.0 кряки есть на http://astalavista.box.sp Не найдёш пиши на NO_SPAM_andrey@kuban.info - вышлю. Удачи!


 
atruhin ©   (2004-01-07 10:43) [7]

Вопрос работы с портами поднимается раз в неделю! Неужели сложно посмотреть эту конфу чуть назад. Там масса вариантов. Надоедает отвечать на одни и теже вопросы, но всё таки, для прямой работы с портами под всеми системати есть достаточно библиотек, например бесплатная с исходниками WinIO - http://www.internals.com


 
hyper_omsk   (2004-01-08 07:51) [8]

Вопрос: Надо прочитать сигнал с девайса (через LPT) на порт подаю +5V, читаю с порта сигнала нет. Читаю по адресу &378 может адрес сменит или питание повысить (страшно сгорит что-нибудь). Подскажите как правильно организовать чтение с порта.


 
atruhin ©   (2004-01-08 09:08) [9]

> hyper_omsk
Ни в коем случае не подавай сигнал более 5В LPT порт пятивольтовый.
Для чтения у порта есть регистры управления EPP-ECP, сейчас нет под рукой литературы но это описано в любой книге по железу (неплохо описано у Гука), в них нужно установить режим работы.


 
murdor ©   (2004-01-08 18:05) [10]

так как-же правильно-то вывести данные в лпт и считать их???

я уже офигел от к-ва пустой информации... Конкретно как сделать
чтение/запись с порта????? И данные выводятся только на Д0-Д7???
блин....ничего не понимаю :)???????????


 
tesseract ©   (2004-01-09 10:20) [11]

Просто зайди на torry.net и посмотри там компонент SMport. ОН позволяет писать даныые напрямую в порты и читать все значащие линии lpt-порта. там просто вир. ус-во можно писать в любой порт какой приспичит - прямо по адресу.


 
murdor ©   (2004-01-09 13:58) [12]

млин.... был я на TORRY.NET и не разобрался где там искать ентот
компонент (там их вроде 1227 штук или около того)... Где тама надо полазить чтобы найти SMport ??????


 
N169   (2004-01-09 14:10) [13]

Вот ещё ссылка, может, поможет:

http://www.lvr.com/parport.htm

там обширная инфа, + примочки


 
murdor ©   (2004-01-09 16:55) [14]


> N169   (09.01.04 14:10) [13]

инфа то там обширная, но что конкретно надо скачать, чтобы при программировании портов в делфи к ним был полный доступ???????
А то я не понимаю по буржуйски.....  :)


 
hyper_omsk   (2004-01-14 06:33) [15]

Вот посмотрите компонент которым я пользуюсь он все делает и пишит и читает, только что-то у меня не получается
http://hyperomsk.narod.ru/lpt.zip



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
14-1078559394
IIStan
2004-03-06 10:49
2004.04.04
Кому-нибудь в Питере нужны 3 билета на Колбасный Цех 4???


3-1077690358
Jedu
2004-02-25 09:25
2004.04.04
Возникла проблема с IBClientDataSet.......


6-1075273288
frost
2004-01-28 10:01
2004.04.04
Общение по сети.


14-1078856834
Lods
2004-03-09 21:27
2004.04.04
Преобразование Base64


3-1078220712
Турчин
2004-03-02 12:45
2004.04.04
Нужно организовать открытие файла базы данных Trade