![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LPT [D5, Win2k]
Den_lam © (2004-01-05 09:38:00)Есть девайс. Общаться с ним надо через 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). В чём ошибка? (кроме ДНК естественно:) )
hyper_omsk (2004-01-14 06:33:00) [1]Вот посмотрите компонент которым я пользуюсь он все делает и пишит и читает, только что-то у меня не получается
http://hyperomsk.narod.ru/lpt.zip
murdor (2004-01-09 16:55:00) [2]
> N169 (09.01.04 14:10) [13]
инфа то там обширная, но что конкретно надо скачать, чтобы при программировании портов в делфи к ним был полный доступ???????
А то я не понимаю по буржуйски..... :)
N169 (2004-01-09 14:10:00) [3]Вот ещё ссылка, может, поможет:
http://www.lvr.com/parport.htm
там обширная инфа, + примочки
murdor (2004-01-09 13:58:00) [4]млин.... был я на TORRY.NET и не разобрался где там искать ентот
компонент (там их вроде 1227 штук или около того)... Где тама надо полазить чтобы найти SMport ??????
tesseract (2004-01-09 10:20:00) [5]Просто зайди на torry.net и посмотри там компонент SMport. ОН позволяет писать даныые напрямую в порты и читать все значащие линии lpt-порта. там просто вир. ус-во можно писать в любой порт какой приспичит - прямо по адресу.
murdor (2004-01-08 18:05:00) [6]так как-же правильно-то вывести данные в лпт и считать их???
я уже офигел от к-ва пустой информации... Конкретно как сделать
чтение/запись с порта????? И данные выводятся только на Д0-Д7???
блин....ничего не понимаю :)???????????
atruhin (2004-01-08 09:08:00) [7]> hyper_omsk
Ни в коем случае не подавай сигнал более 5В LPT порт пятивольтовый.
Для чтения у порта есть регистры управления EPP-ECP, сейчас нет под рукой литературы но это описано в любой книге по железу (неплохо описано у Гука), в них нужно установить режим работы.
hyper_omsk (2004-01-08 07:51:00) [8]Вопрос: Надо прочитать сигнал с девайса (через LPT) на порт подаю +5V, читаю с порта сигнала нет. Читаю по адресу &378 может адрес сменит или питание повысить (страшно сгорит что-нибудь). Подскажите как правильно организовать чтение с порта.
atruhin (2004-01-07 10:43:00) [9]Вопрос работы с портами поднимается раз в неделю! Неужели сложно посмотреть эту конфу чуть назад. Там масса вариантов. Надоедает отвечать на одни и теже вопросы, но всё таки, для прямой работы с портами под всеми системати есть достаточно библиотек, например бесплатная с исходниками WinIO - http://www.internals.com
Release (2004-01-06 13:43:00) [10]Не так давно я решал подобную проблему. Есть замечательная библиотека для доступа к любым портам - ntport.dll. Работает и под NT и под Win9x. Пример работы с LPT для Delphi прилагается. Всё просто, и главное надёжно. Сайт разработчика www.zealsoft.com . У меня есть версия 1.0 и кряка к ней. К версии 2.0 кряки есть на http://astalavista.box.spНе найдёш пиши на NO_SPAM_andrey@kuban.info - вышлю. Удачи!
Sniper-Max (2004-01-06 12:13:00) [11]Я писал с ассемблерным кодом, под 2000 не пашет естественно.
Надо компонент надыбать какой-нибудь для работы с ним, слашал, что есть такой, но все никак не займусь этим...
Надо заняться, а то у меня проблемма как принять эти логические уровни...
N169 (2004-01-06 11:38:00) [12]Если общаться с девайсом через стандартный api, то надо быть уверенным, что девайс поддерживает станд. протокол обмена, напр., №1284.
Если это не так, то надо использовать сторонние компоненты для работы с портом LPT как с набором регистров, и формировать протокол самостоятельно.
tesseract (2004-01-06 10:06:00) [13]Подожди пока девайс оклимается, а режим порта ecp или epp?
Den_lam (2004-01-05 10:33:00) [14]Я менял размеры - то же самое.
Я вообще правильно понял, что третьи параметры в процедурах Read и Write file - это обыкновенные переменные?
Anatoly Podgoretsky (2004-01-05 09:43:00) [15]Размер fuck, buffer ни как не 8 байт