Parallelport -> LEDs ansteuern

Hallo,

ich versuche über den Parallelport eine kleine Platine mit verschiedenen LEDs mit Vorwiderständen anzusteuern, d.h. ich möchte die 8 Datenleitungen einzeln an- und wieder ausschalten. Ein Bild der Verkabelung habe ich hier:

formatting link

Nun habe ich über die inpout.dll

formatting link
versucht, die Ports 888 oder H378 (weiß nicht welcher wirklich der parallel port ist) auf andere Werte zu setzen, z.B. "inpouttest write h378 240" und "inpouttest write 888 150".

Habe es also mal mit "inpouttest write 888 0" ausprobiert, messe aber immer noch 4.07 DCV zwischen Pin2 und der gesammelten Masse. Müsste doch eigentlich gegen 0 fallen, oder? Aber egal welchen Werte ich zuweise, ich messe immer 4.07 DCV, d.h. es leuchten immer alle LEDs.

Hat jemand eine Idee, was ich hier falsch mache?

Vielen Dank, Nico

Reply to
Nicolas Tade
Loading thread data ...

Hat nix gebracht.

Das Ergebnis ist:

LPT1: 956 LPT2: 888 LPT3: 632 LPT4: 40896

Das ist schon eigenartig. Ich habe da gestern ein Programm runtergeladen, das mir LPT1 @ &H378

Aber weder bei "port 956 0" noch bei "port 888 0" gehen die 4 DCV weg, sagt mein Multimeter. :-((

Ist doch richtig, dass man die Pins 18-25 alle zusammen machen darf, oder?

Danke! Nico

Reply to
Nicolas Tade

Nicolas Tade schrieb am 12.05.2006 21:42:

Setze die Schnittstelle mal auf 255.

Ja, wenn ich nicht in den Nummer verrutscht bin, ist es alles GND.

Reply to
Jan Becker

Welches ist denn die richtige?

Habe beide auf 255, und jetzt ist die Spannung von 4,05 auf 4,11 gestiegen. Lässt sich auch wieder mit 0 auf 4,05 senken...

Reply to
Nicolas Tade

Und was echt komisch ist:

Ich habe mit port 956 auf 255 gesetzt, und die GUI Relais.exe zeigt mit Option '4' an, dass die Schnittstelle 956 den Wert 170 hat. Zurück in Port.exe, erneuter Aufruf, 956 steht dort auf 255... Irgendwas ist echt schräg hier.

Reply to
Nicolas Tade

Nicolas Tade schrieb am 12.05.2006 21:51:

Wenn Du LPT1 verwendest dann ist 956 richtig.

Also, habe mal eine LED bei mir angeklemmt. Bei "port 956 0" gehen alle aus, bei "port 956 255" sind alle acht Leitungen an.

Name Register Pin Pegel bei EIN

-------------------------------------- Datenbit0 0 2 +5V Datenbit1 1 3 +5V Datenbit2 2 4 +5V Datenbit3 3 5 +5V Datenbit4 4 6 +5V Datenbit5 5 7 +5V Datenbit6 6 8 +5V Datenbit7 7 9 +5V Masse >=18

Reply to
Jan Becker

Was heisst das eigentlich? Ich habe ein Motherboard Asus A7N8X-X, und da ist hinten nur eine Buchse, wo ein Parallelkabel dran passt. Das ist doch dann automatisch LPT1, oder?

Nico

Reply to
Nicolas Tade

Nicolas Tade schrieb am 13.05.2006 00:53:

Kommt darauf an unter welcher Adresse die Schnittstelle im Bios eingetragen ist. Meist regelt das Bios dies automatisch. Wenn im OS einzelne Adressen festen Anschlüssen zugeordnet sind, kann es gut sein, dass Du z.B. Com3 hast Com1+2 aber nicht existieren. Aber das kannst Du ja recht leicht im System selbst feststellen und teils auch direkt zuordnen:

Systemsteuerung > System > Gerätemanager > Anschlüsse (COM und LPT) > Druckeranschluss > Ressourcen > E/A-Bereich

Dort sind die Daten aufgeführt, die der Schnittstelle beim Booten zugeordnet wurden.

Reply to
Jan Becker

Hey Jan,

danke für die Hilfe. Es funktioniert jetzt. Hat sich herausgestellt, dass das Pinlayout spiegelverkehrt war..

Aber eine Frage: Funktioniert das Programm port.exe sicher unter WinXP? Ich habe jetzt damit folgendes festgestellt:

- Es meldet 'LPT1: 956' , aber im Bios steht LPT1 auf 378hex also 888dez, und 888 meldet das Programm als LPT2-Anschluss.

- Der Befehl 'port 888 255' funktioniert nicht. Es kommt auch keine Fehlermeldung. Die inpout32.dll nimmt denselben Befehl entgegen, und alle Lämpchen leuchten. Die inpout32.dll funktioniert aber im Kernel anders, und viele ältere Portprogramme funktionieren nur unter Win95 und Win98...

Nico

Reply to
Nicolas Tade

Nicolas Tade schrieb am 14.05.2006 00:06:

Hi!

Gern geschehen.

Das kann ich nicht zu 100% sagen. Ich habe es früher unter Dos verwendet und danach unter NT4. Wobei ich mich erinnere, dass der interne Schreibbefehl für die Schnittstelle zweimal gesendet werden musste, damit die Leitungen unter Windows richtig gesetzt wurden.

Dito, bei meinem XP auch. Ohne es zu wissen, aber vielleicht verwaltet Windows diese Schnittstellen für die Dos-Box unter anderen Adressen. Aber mit den dort angezeigten Werten für LPT1 (also 956) konnte ich eine Test LED an einem Kanal ein- und ausschalten.

Es kann sein, dass ich damals alle Fehlermeldungen deaktiviert habe, somit kommt wahrscheinlich auch nichts, falls eine Schnittstelle nicht existieren sollte.

Aber dein eigentliches Prob scheint ja dann gelöst zu sein :-)

Reply to
Jan Becker

Hi,

probier mal folgendes aus:

formatting link

Damit kannst du den Status der Parport-Leitungen sehen und ändern.

Gruß MATZE

Reply to
Matze

Sieh an, so ein Programm habe ich vor einigen Jahren mal für DOS geschrieben und letztes Jahr auf Linux portiert. Hätte mich auch stark gewundert, wenn kein anderer auch auf die Idee gekommen wäre... :-)

Gruß Henning

Reply to
Henning Paul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.