Problem mit dem PARALLEL PORT

rat-cop

Mitglied
Hi zusammen!

Da ich mir einen neuen PC geholt habe, leider ohne Parallel Port, musste ich mir eine PCI-Karte holen von Digitus.
Nach der Installation des Treibers wird per PnP automatisch auf LPT3 gesetzt. Wenn ich jedoch Versuche mittels der inpout32.dll Daten an diese Adresse (&H3BC) zu senden aendert sich nichts an der LED, die ich angeklemmt hab (jedoch leuchtet sie und das schon wenn ich den PC einschalte).
Wenn ich eine Statusabfrage mache, seh ich immer den konstanten Wert 255.
Frueher hat der Zugriff auf Schnittstellen ohne Probleme funktioniert...

Woran koennte das liegen? Danke schonmal im Voraus.
 
Ist der Port auf einen Interrupt gesetzt? Vielleicht hat Dein Board ja Parallel-Ports, diese sind nur nicht nach draussen gelegt (das wäre dann ein Grund, warum der Port auf LPT3 gesetzt wurde). Da solltest Du mal im BIOS nachsehen, und dort alles was an Parallelports da ist, explicit abschalten.

Du solltest dann versuchen, ob Du die parallele Schnittstelle auf LPT1 / IRQ7 umlegen kannst.

Grüsse
ronaldh
 
Danke erstmal fuer die Antwort...
Ne, mein Board hat leider keine Parallel Ports (auch keine versteckten). Ich hab aber mal IEEE1384 (was glaub ich Firewire ist) im Bios deaktiviert und den PCI-Slot, wo meine Parallel-Karte drin ist auf IRQ7 gesetzt, von LPT1 hab ich dort aber nichts gesehen. Dann hab ich den Rechner gebootet und den Treiber neuinstalliert, dann hab ich im Geraetemanager geschaut und gesehen, dass der Port unter Anschluesse schon wieder auf LPT3 war, uebrigens war das der einzige Eintrag dort. Daraufhin hab ich die LPT-Anschlussnummer auf LPT1 gesetzt (Interrupt steht auf "nie verwenden"). Wofuer ist eigentlich "Legacyerkennung fuer PnP aktivieren"?
Was mir aufgefallen ist, dass wenn ich die Anschlussnummer aender oder den Treiber neuinstalliere geht die LED fuer kurze Zeit aus und sofort wieder an.....

Ich verwende folgenden Code um von LPT1 - LPT3 gleichzeitig zu senden, um wenigstens die Adresse auszuschliessen...
Code:
    Out &H378, 0
    Out &H278, 0
    Out &H3BC, 0

und mit einen Timer frage ich alle 3 Ports ab....
Code:
Text1.Text = "LPT1: " & Inp(&H378) & vbCrLf & "LPT2: " & Inp(&H278) & vbCrLf & "LPT3: " & Inp(&H3BC)
Meine Textbox zeigt immer an: (obwohl gar nicht alle 3 Ports zur Verfuegung stehen)
LPT1: 255
LPT2: 255
LPT3: 255

Der Code funktioniert auf einem aelteren PC von mir mit integriertem Parallel Port....

Woran kann das nur liegen? :confused:
Ich verzweifel bald....

gruss
rat-cop
 
Probier mal, in der Systemsteuerung die Resourceneinstellungen zu ändern, falls das geht. Wenn es möglich ist, den E/A-Bereich auf "0378-037F" zu setzen, klappt es vielleicht.

Außerdem würde ich die Ressourcenmethode auf "Jeden dem Anschluss zugewiesenen Interrupt verwenden" einzustellen.

Die Legacy-Methode für PnP hat mit Deinem Problem vermutlich nichts zu tun, denn das was Du da parallel machen willst, ist sicherlich eh nicht PnP fähig.

Grüsse
ronaldh
 
In der Systemsteuerung hab ich die Ressourceneinstellung nicht gefunden dafuer aber unter dem "PCI 4008A Multi-I/O Adapter" im Geraetemanager. Der Adapter wurde mit der PCI-Karte installiert. Leider aber kann ich da nichts aendern, die CheckBox "Automatisch konfigurieren" ist aktiviert und ausgegraut. Hab dort 2x E/A Bereich, einmal "EC00-EC07" und "E880-E887". Mir ist ausserdem aufgefallen, dass IRQ auf 16 und nicht auf 7 wie ich es im BIOS eingestellt hab.
Gibt es irgend eine Moeglichkeit das zu umgehen und die Ressourcen doch zu aendern?

Gruss,
rat-cop
 
Hat da keiner das gleiche Problem von euch?
Kann ich das nicht mit VB umgehen oder eine ander/bessere DLL als die inpout32.dll nutzen?
Oder liegt das einfach nur am Treiber von dem Hersteller?
Bin ueber jeden Tipp erfreut!

gruss,
rat-cop
 
Meiner Meinung nach liegt es am Treiber, bzw. ist es ein Konfigurationsproblem wobei wir wieder bei meinem Post von oben wären ich hätte deine Frage im Hardwareforum besser platziert wäre.

An der Adresse kannst du in vb nichts machen.
Die dll kannst du nicht in vb ändern.
und die Einstellungen im Betriebssystem (änderbar oder nicht) kannst du über vb ebenfalls nicht ändern.

Also frage ich dich wieso meinst du das du im richtigen Forum gepostet hast?
 
Also ich hab das Problem jetzt geloest. Ich hab die ganze Zeit die falsche Adresse ueber VB angesprochen. Es ist nicht 3BC oder irgend eine andere obwohl der Geraete-Manager unter Anschluesse LPT3 angezeigt hat. Dann hab ich in der Kategorie Resourcen unter Eigentschaften gesehen (wie ich schon vorher gepostet hab) die Einstellung: 2x E/A Bereich, einmal "EC00-EC07" und "E880-E887". In VB hab ich dann einfach...
Code:
Out &HEC00, 0
anstatt
Code:
Out &H378, 0
verwendet. Nun kann ich den Port ohne Probleme ansprechen. Thx trotzdem an euch.

gruesse,
rat-cop


@brainbyte: Hast recht, haette vllt auch ins Hardwareforum gepasst.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück