PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geräte über Druckerport steuern?? Wie???



RCO
10.06.2004, 02:31
Hallo,
ich habe gehört, dass man über den Druckerport Geräte Steuern kann z.B. Relaiskarten, wie macht man das???

Geht das über Delphie und wenn ja gibt es da eine gute Internetseite oder könnte mir jemand ein Anleitung schicken was ich machen muss???

Wäre echt super

Matthias
10.06.2004, 10:19
Man kann sowohl über den Druckerport, als auch über die RS232 alles möglich dernsteuern. Es gibt da so ne Internetseite, ich glaub die heisst google oder so *g*

hrrh
10.06.2004, 12:14
http://www.franksteinberg.de/erel.htm allerdings ist die steuerung in basic geschrieben. masn kann sogar drucker ueber den druckerport steuern (wer haette das gedacht)

LinuxFan
10.06.2004, 12:40
http://www.southwest.com.au/~jfuller/delphi/delphi1.htm

Würde aber vielleicht empfehlen, eine extra I/O Karte mit mehreren Ports zu kaufen (LPT hat "nur" 8 Ausgänge = 256 Möglichkeiten) :D

-> siehe https://www.roboternetz.de/phpBB2/viewtopic.php?t=2037

LinuxFan
10.06.2004, 12:41
Warum sagt hier jeder "Delphie"? Es heißt immer noch Delphi, wenn Borland den Namen ändern, sag ich Bescheid :)

10.06.2004, 13:11
Der Parallelport hat nicht nur 8 Datenausgänge, sondern auch ein paar Statusleitungen, die man auch ansteuern kann.

RCO
10.06.2004, 13:31
Wenn ich richtig informaiert bin sogar ein par eingänge, habe aber auch gehört, dass man die Ausgänge nicht einzelnd sondern nur alle mit ganzen Bytes ansprechen kann.

nux
10.06.2004, 13:48
www.activevb.de

hier gibts unter Tutorials eine Ansteuerung mit Visual Basic 6. Sehr interessant.

(( Dumme Frage: Wie kann ich die Eingänge des LPT setzen? ))

10.06.2004, 14:09
Abfragen dann meinetwegen setzen schon klsr

LinuxFan
10.06.2004, 17:42
Der Parallelport hat 8 Ausgänge.
Die Statusleitungen sind KEINE Ausgänge, da sie ja Statuseingänge vom Drucker zum PC sind (Papierstau, ...)! Insofern sind Sie Eingänge, die auch vom PC abgefragt werden können.

Zu den 8 Ausgängen:
2^8 = 256 Möglichkeiten, das heißt: Mit ein paar Tricks (UND-Gatter) kann man insgesamt 256 verschiedene Geräte an-/ausschalten.

cht
10.06.2004, 19:21
Für Delphi gibts da ein paar kleine Probleme: eine direkte I/O-Procedure gibt es nicht und das Sicherheitskonzept von Win NT (XP, 2000) verbietet Anwendungen den Zugriff auf die Schnittstellen, das dürfen nur Treiber. Die Lösung: eine DLL. auf http://batronix.com/elektronik/know-how/parallelport-programmierung.shtml gibts ausführliche Erklärungen und nen Link dazu.
Der Parallelport hat 8 Datenausgänge, 4 Steuerungsausgänge und 5 Statuseingänge, d.h. insgesamt 12 bit out und 5 bit in. Wichtig ist, das Bios auf "Output only" zu stellen. Die 8 Datenleitungen können auch als Eingänge benutzt werden, dazu einfach auf "Bidirectional" bzw "Normal" stellen. ECP und EPP sind für den Anfang eher ungeeignet.

-----------------------------------------------------------------------------------
ACHTUNG!
Unbedingt ein Treiber-IC zwischen den Parport und deine Schaltung packen! Die TTL-Ausgänge des PCs verkraften nur sehr geringe Ströme, daher nie zu hoch belasten oder gar kurzschließen! Außerdem ist ein Potenzialausgleich der beiden Massen nötig, Batteriebetrieb ist da wohl sicherer. Als Eingang verwendete Leitungen liegen standardmäßig auf "high" und müssen nur ggf. mit GND verbunden werden, sie sollten nicht mit Fremdspannungen in Berührung kommen.

mfG

cht

PS: Wenn du nen Beispielcode für die DLL haben willst, sag Bescheid! Ich hab hier noch son selbstgemachtes I/O-Prog rumliegen.

hrrh
10.06.2004, 19:29
der beispielcode waere sicher interessant. mal sehen wie viel komplizirter es als unter dos ist

cht
13.06.2004, 12:09
Okay jetzt kommts (Ich hoffe ihr habt Delphi).
Sry dass ich so lange gebraucht habe, aber ich hatte noch mehr zu tun (bedankt euch bei meinem Geschichtslehrer...), und Code einrücken und Auskommentieren braucht auch seine Zeit.

RCO
13.06.2004, 21:19
Cooles Prog nett gemacht, läuft wunderbar, danke.
Hab noch ne frage, kann man die Ausgänge/Eingänge siehe:

http://www.dotnet-magazin.de/itr/online_artikel/psecom,id,397,nodeid,31.html

auch als eingänge benutzen??? was muss man umstellen??

@cht hast du auch ein Programm für die Serielle SChnittstelle parat(für Delphi)?? geht das überhaupt??

cht
13.06.2004, 21:26
Die Ausgänge kann man ganz einfach als Eingänge benutzen indem man ganz dreist von ihrer Adresse liest: Inp32($378). Man sollte den Parport vorher im Bios auf Bidirectional stellen. Die serielle Schnittstelle funktioniert ja von der Datenübertragung her grundlegend anders, aber es geht auch. Wenn du nur ein paar Leitungen auf H oder L setzen willst, ist es ähnlich wie bei der parallelen (mehr dazu bei google...),wenn du richtig daten schicken willst, verhält sich der com-port unter windows lustigerweise wie eine Datei (!), das ist im Windows-SDK (bei Delphi prof und enterprise mitgeliefert) beschrieben. Ich arbeite noch an so einem Prog, ich will damit das USART meines mega16 mit dem PC verbinden. Mal sehn...
mfG

cht

cht
13.06.2004, 21:31
ich vergaß: keine Fremdspannungen an Eingänge anlegen! open=1, GND=0, d.h. für 1 einfach gar nicht verbinden. Alles andere mögen Druckerports nicht besonders, und neue Mainboards sind teuer...

LinuxFan
17.06.2004, 22:27
Hat jemand auch ein Programm für Linux?

Arno Nym
23.06.2004, 11:46
nur als root ausführbar.
setzt alle pins für 4 sekunden auf high.



#include <stdio.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <asm/io.h>

int main (int argc, char** argv) {
if (ioperm(0x378,1,1)) {
printf("kann port nicht oeffnen");
return -1;
}
outb(255,0x378);
sleep(4);
outb(0,0x378);
return 0;
}

RCO
23.06.2004, 12:22
Also bis jetzt war das mit der Fremdspannung kein Problem, hab nen infrarotempfänger mit Digitalem Ausgang dran angeschlossen. Das mit dem Nix anschließen oder null setzen ist nicht Einfach, da bräuchte man dann ja ein RElais oder so, um wirklich garncihts anzuschließen.

cht
23.06.2004, 17:31
Ne NPN Transe tuts auch. Emitter an GND, Kollektor an Druckerport, Basis über Widerstand an den (invertierten) Datenpegel.
Tadaaaa!

mfG
cht

28.06.2004, 16:17
Für Delphi gibts da ein paar kleine Probleme: eine direkte I/O-Procedure gibt es nicht und das Sicherheitskonzept von Win NT (XP, 2000) verbietet Anwendungen den Zugriff auf die Schnittstellen, das dürfen nur Treiber. Die Lösung: eine DLL. auf http://batronix.com/elektronik/know-how/parallelport-programmierung.shtml gibts ausführliche Erklärungen und nen Link dazu.
Der Parallelport hat 8 Datenausgänge, 4 Steuerungsausgänge und 5 Statuseingänge, d.h. insgesamt 12 bit out und 5 bit in. Wichtig ist, das Bios auf "Output only" zu stellen. Die 8 Datenleitungen können auch als Eingänge benutzt werden, dazu einfach auf "Bidirectional" bzw "Normal" stellen. ECP und EPP sind für den Anfang eher ungeeignet.

-----------------------------------------------------------------------------------
ACHTUNG!
Unbedingt ein Treiber-IC zwischen den Parport und deine Schaltung packen! Die TTL-Ausgänge des PCs verkraften nur sehr geringe Ströme, daher nie zu hoch belasten oder gar kurzschließen! Außerdem ist ein Potenzialausgleich der beiden Massen nötig, Batteriebetrieb ist da wohl sicherer. Als Eingang verwendete Leitungen liegen standardmäßig auf "high" und müssen nur ggf. mit GND verbunden werden, sie sollten nicht mit Fremdspannungen in Berührung kommen.

mfG

cht

PS: Wenn du nen Beispielcode für die DLL haben willst, sag Bescheid! Ich hab hier noch son selbstgemachtes I/O-Prog rumliegen.

Hmmm.... komisch ..... was steht denn hier ????

cht
29.06.2004, 01:39
Dass dieser thread immer noch läuft... *gähn*... naja, also:

Was steht wo? Der Treiber ist insbesondere sinnvoll für Ausgänge, bei Eingängen tuts auch ne NPN Transe. Die Treiber die ich hatte haben als Endstufe auch nur ne NPN Transe gehabt, is also das gleiche. An den Kollektor der NPN Transe zur Sicherheit noch 1kOhm; 6k8 hat bei mir schon nicht mehr reagiert. Obs dann funzt oder nicht hängt wohl von den BIOS Einstellungen und vom Typ der I/O-Karte / Mainboard ab.
viel Glück wünscht

cht

RCO
29.06.2004, 02:16
Jaja mitlerweile bekomme ichs ja mit Delphi hin, aber warum taucht dieser Thread überhaupt wieder auf???

niemalsaufgeben
27.03.2006, 14:02
HAllo Miteinand
Wie sieht es mit WIN aus? Hat jemand Erfahrungen mit der Parallelportansteuerung unter Win XP mit C?
ES geht leider nicht anders, aber muss doch möglich sein!!

cht
27.03.2006, 17:19
Auch in C solltest du DLLs einbinden können... lies mal bisschen weiter oben (bzw die vorherigen Seiten), der Link funktioniert noch.
Gruß

cht