vorab sry für die blöde Frage. Ich habe hier ein C-Programm, bei dem ich eine Sache nicht verstehe. Die Zeile: _outp(0x37A, 0x09); Ich weiß bis jetzt, dass man durch Einbinden von conio.h einfach so die parallele Schnittstelle ansteuern kann. Aber was bedeuten die Ausdrücke in der Klammer?. 0x37A soll die Adresse des Ports sein und 0x09 der Pin??? In den Beschreibungen sind die Pins immer einfach durchnummeriert. Wo ist der Zusammenhang?
Der zweite Parameter ist das Bitmuster, das an den Pins D0..7 ausgegeben wird. Mit 9 werden die Pins D3 und D0 auf High und alle andere auf Low gesetzt.
Hallo,
ganz so einfach ist die Sache leider nicht.
Grundsätzlich: Das Kommando
> _outp(0x37A, 0x09);
schreibt in das Register an Adresse 0x37a das Datenbyte 0x09. Damit
werden 2 Steuerleitungen des Parallelports kontrolliert.
Zur näheren Information:
Ein PC-Parallelport-Baustein hat normal 8 Datenleitungen, 5
Status-Eingänge und 3 bis 4 Steuer-Ausgänge. Er beinhaltet 3 Register
(hier die von LPT1):
- 0x378 = Daten-Register; dieses steuert entweder die Ausgangs-Pins
D0-D7 oder liest sie ein (je nach Konfiguration).
- 0x379 = Status-Register; hier kann man einige Eingänge des
Parallelports einlesen (teilweise invertiert).
- 0x37a = Steuer-Register; hier werden die Steuerleitungen und die
Konfiguration der Datenleitungen eingestellt.
Suche mal nach "Parallelport"; hier wirst Du schnell fündig.
Oh, ich hatte in der Eile angenommen, daß das Datenregister beschrieben würde. Kommando zurück; "Spezi" hat recht. Allerdings sei noch der Hinweis erlaubt, daß unter Windows der Parallelport nicht auf diese Art und Weise angesprochen werden kann (Ausnahme sind die DOS-basierenden Frickelversionen 95-Me), ohne daß zusätzlicher Aufwand getrieben wird (Treiber à la giveio.sys). Hinzu kommt noch, daß das nur mit echten Parallelports geht, nicht aber mit den üblichen USB-Paralleldrucker-Kabeln. Die Ausnahme stellt hier der Selbstbau-Adapter von Henrik Haftmann dar.
Hallo! Das Chaos wird perfekt wenn man weis, das einige Bits (D0, D1 und D3) invertiert ausgegeben werden. Beim abgedruckten Beispiel liegt also am D-SUB 25 folgendes an: Pin1=L, Pin14=H, Pin16=L, Pin17=L. Die Bits D4...D7 sind nicht nach Außen geführt. Beim Statusport (0x379) sind auch nur die Bits D3...D7 als Input verfügbar. Davon ist allerdings D7 invertiert! Die Datenleitungen (Port 0x378) sind historisch nur Ausgänge und deshalb nicht bei allen Parallel-Schnittstellen als Input nutzbar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.