Parallelport ansprechen

Gast #2540937
Lesenswert?

Hallo zusammen!
Ich versuche gerade von C# aus den Parallel-Port meines Rechners 
anzusprechen (ich weiß, oldschool). Allerdings tut sich da garnichts :-(

Folgende Situation ist gegeben:
- Ich ahbe einen Rechner mit Wind7 x64
- Am Mainboard befindet sich ein nativer LPT-Port
- Dieser wird von Windows erkannt und mit der "normalen" Adresse (0x378) 
versehen
- Ich habe die "InpOutx64 DLL" installiert 
(http://www.highrez.co.uk/Downloads/InpOut32/default.htm)
- Nun starte ich das dazugehörige Demo-Programm. Dieses wirft keine 
Fehler und behauptet vom Port lesen und auf diesen schreiben zu können

Allerdings messe ich immer nur 4,3V an allen Ausgangspins, egal was ich 
auf den Port schreibe (z.B. 0 oder 255). Auch beim Lesen tut sich 
nichts: ich kann belibige Pins auf Masse ziehen, aber es wird immer eine 
255 gelesen.

Messen tue ich übrigens zwischen den Pins 2 (Databit 0?) und 25 
(Masse?).

Hat Jemand eine Idee woran das liegen könnte?
Gruß,
Sharping
Gast #2541314
Lesenswert?

Sorry, hab gerade kein Windows 7 vor mir, aber der normale Weg ist via 
Systemsteuerung, dort dann kleine oder große Symbole als Anzeige 
auswählen, dann erweitert sich die kastrierte Icon Auswahl zu dem was 
man noch aus XP kennt. Dort taucht dann auch ein Icon "Verwaltung" auf, 
da drin kann man dann die Dienste verwalten. In der Diensteliste (auch 
da hat Bill G. umbenannt) nach dem Spooler Dienst suchen,  der taucht 
unter XP als "Druckwarteschlange" auf, ob er unter 7 noch genau so 
heisst kann ich jetzt leider nicht runterbeten. So oft wurstel ich unter 
7 nicht in den Diensten rum. Da kannst du den Dienst starten, stoppen 
oder deaktivieren. Aber: bei gestopptem Spooler geht kein Drucker 
mehr!!!

Testweise kannst du auch eine Dos Box unter Ausführen aufmachen, dazu 
einfach CMD eingeben und ne DOS Box kommt. In der DOS Box "net stop 
spooler" eingeben, dann hält der Spooler an. mit "net start spooler" 
kannst du den wieder starten.

zur Rufus Frage: ich würde AT Modus wählen, der sollte klassiche Ausgabe 
ermöglichen. Der PS/2 kam nach dem AT, und möglicherweise hat IBM da was 
dran geschraubt. Die EPP Modi sind für volle bidirektionale 
Kommunikation mit Druckern eingeführt worden, da hat sich noch mehr 
geändert (damit fing die Seuche mit den ständigen quakenden 
Druckertreibern an...)
Zum testen würde ich nicht messen sondern eher ein uralten Nadeldrucker 
oder HP Tintenpisser (die 500er Serie konnte das noch) anhängen und 
einfach mal ASCII Zeichen ausgeben.
Gast #2544522
Lesenswert?

Sharping schrieb:

> - Ich habe die "InpOutx64 DLL" installiert

Wenn die aus einem Usermode-Programm aufgerufen wird, dird I/O wohl 
trotzdem scheitern, wenn dies nicht gerade ein Kernelmode-Treiber ist. 
Früher gab es für sowas einen "GiveIO"-Treiber, mit dem man sich den 
Zugriff auf den ParPort für Usermode-Programme freischießen konnte. Wenn 
Du ohnehin selbst programmierst und auch ein spezielles API ansprechen 
kannst, wäre dies eventuell das Richtige:
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/ul-15.de.htm
Dieses Teil versucht Hardwarezugriffe abzufangen, was aber nicht immer 
zuverlässig funktioniert, bietet aber auch ein API für 
Usermode-Programme, das zuverlässig laufen sollte.
mfG ingo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren