Форум: "Система";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.05 c