![]() |
LPT überwachen
Also ich habe mir schon viele Tutorials und Beiträge dazu angeschaut aber nichts hat mich weitergebracht. Ich habe einen Taster am LPT Port und möchte bei druck darauf im Prog. eine Prozedur auslösen wie mache ich das?
|
Re: LPT überwachen
Suche mal nach der
![]() Guckst du auch: ![]()
Delphi-Quellcode:
procedure Out32(Addresse:Integer; Wert:byte); stdcall; export;
external 'INPOUT32.DLL'; function Inp32(Addresse:Integer):Byte; stdcall; export; external 'INPOUT32.DLL'; |
Re: LPT überwachen
Moin,
oder wenn du gern auf den Interrupt des LPT-Ports reagieren möchtest, schau mal ![]() MfG Thorsten |
Re: LPT überwachen
Danke erstmal aber wie kann ich jetzt einen bestimmten Ein bzw. Ausgang abfragen?
Wie müssste es z.B. aussehen um den eigentlichen busy(Pin11) Status abzufragen? PS:der obige code geht bei mir nicht :gruebel: edit:Problem gelöst |
Re: LPT überwachen
Warscheinlich weil du die Pin's nicht richtig angeschlossen hast ? :gruebel:
Wie hast du den den Taster angeschlossen ? |
Re: LPT überwachen
Zwischen Pin 11 und Pin 25 (mit anderen Programmen geht das)
|
Re: LPT überwachen
Guck mal:
![]() ist gut erklärt. Schon mal gemessen ob auch eine Spannung da ist ? Zitat:
|
Re: LPT überwachen
Also das auslesen bekomme ich jetzt halbwegs hin lag am Taster aber ich habe mir nun mal näher das angeguckt
![]()
Delphi-Quellcode:
den D0 auf high gesetzt ich weiss auch das wenn ich die eins durch eine zwei ersetze ich das für D1 mache aber wie kann ich sie unabhängig voneinander abschalten? ich habe es bisher nur geschaft mit
out32(888,1);
Delphi-Quellcode:
alle abzuschalten!
out32(888,0);
|
Re: LPT überwachen
![]() |
Re: LPT überwachen
Liste der Anhänge anzeigen (Anzahl: 1)
und was genau davon brauche ich jetzt das meiste geht bei mir nicht :wall:
wieso z.B. wird bei meinem Programm immer nur eine LED angemacht |
Re: LPT überwachen
Liste der Anhänge anzeigen (Anzahl: 1)
Code:
In deinem Demo sind die Tag's leer. Die sollten im OI oder im Code gesetzt werden sonnst funktioniert das Demo nicht.
procedure TForm2.Button1Click(Sender: TObject);
begin Case [color=#ff0000](Sender as TCheckBox).Tag[/color] of Ein B. um die Tag's zur Laufzeit zu setzen:
Delphi-Quellcode:
procedure TFormX.FormCreate(Sender: TObject);
var i: Integer; begin for i := 0 to 7 do (FindComponent(format('CheckBox%d', [i+1])) As TCheckBox).Tag := i; // (FindComponent(format('CheckBox%d', [i+1])) As TCheckBox).Tag := i; // kann man auch anders schreiben: // TCheckBox(FindComponent(format('CheckBox%d', [i+1]))).Tag := i; end; |
Re: LPT überwachen
danke!! :P :thumb:
|
Re: LPT überwachen
Also ich weiss das passt jetzt nicht mehr wirklich zum Titel aber ich wollte mal fragen wie ich z.B. Pin 14 ansteuere ich bekomme das bisher nur mit pin 2-9 hin
|
Re: LPT überwachen
Wenn ich sage
Delphi-Quellcode:
Dann gibts ne Fehlermeldung:
// inpout32.dll für LPT-Ausgang unter WinNT, Win2000 und WinXP laden
procedure Out32(PortAddress:word;Value:byte);stdcall;export; external 'inpout32.DLL'; function Inp32(PortAddress:word):byte;stdcall;export; external 'inpout32.DLL'; procedure TForm1.Button1Click(Sender: TObject); begin Out32(888,1); end; "Konstantenausdruck verletzt untere Grenzen" :gruebel: Was mach ich falsch? |
Re: LPT überwachen
Am Code ansich ist nichts Falsch da muss so was nicht klappen schreibe mal deinen ganzen Code rein dann kann ich dir vieleicht weiterhelfen(PS:kennt noch jemand ne Lösung auf mein Problem bevor man ein neues anfängt)
|
Re: LPT überwachen
Pin 14, was hast den du vor ?
Code:
Signalname | LPT-Pin | BitNr | Portname
-------------------------------------------- Data0 | 2 | 0 | DatenPort ... Data7 | 9 | 7 | DatenPort -------------------------------------------- Strobe | 1 | 0 | KontrollPort AutoFdx | 14 | 1 | KontrollPort // <--<<< InitPrnt | 16 | 2 | KontrollPort SlctInp | 17 | 3 | KontrollPort -------------------------------------------- Err | 15 | 3 | InputPort Slct | 13 | 4 | InputPort PE | 12 | 5 | InputPort Ack | 10 | 6 | InputPort Busy | 11 | 7 | InputPort -------------------------------------------- GND | 18-25 | - | Masse -------------------------------------------- |
Re: LPT überwachen
ich wollte sie zusätzlich zu den Daten Ports als Ausgang benutzten um mehr ansteuerungsmöglichkeiten zu haben.
|
Re: LPT überwachen
Ne, is nicht. :gruebel: Das ist ein Daten Port. Du solltest dafür dann eine kleine Schaltung bauen.
Stichwort des Computerclubs I²C-Bus ;) Für den Com (Serial) Anschluss schaut das dann so aus: ![]() |
Re: LPT überwachen
Das ist der gesamte Code:
Delphi-Quellcode:
:wiejetzt: :wiejetzt: :wiejetzt: :wall: :wall: :wall:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} // inpout32.dll für LPT-Ausgang unter WinNT, Win2000 und WinXP laden procedure Out32(PortAddress:word;Value:byte);stdcall;export; external 'inpout32.DLL'; function Inp32(PortAddress:word):byte;stdcall;export; external 'inpout32.DLL'; procedure TForm1.Button1Click(Sender: TObject); begin Out32(888,1); end; end. *nixkapier* |
Re: LPT überwachen
Juhu der1000 'ste Post Zitat:
Schau mal ![]() :cheers: |
Re: LPT überwachen
Schau mal ob deine DLL vom Namen her richtig defieniert ist
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz