Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
1-1079612266
Сниф
2004-03-18 15:17
2004.04.04
Где можно взять подробный пример создания Com-объекта?


1-1079382820
HepB
2004-03-15 23:33
2004.04.04
Старт в свёрнутом виде


14-1078946265
Maxim Vetera
2004-03-10 22:17
2004.04.04
ПППП!


14-1078421101
wicked
2004-03-04 20:25
2004.04.04
БНФ


1-1079601040
GSVSerg
2004-03-18 12:10
2004.04.04
Tform.OnMinimized()





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский