Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

parallelport

Jens Wiedemann / 4 Antworten / Flachansicht Nickles

Hallo, ich möchte mit c++ ein LC-Grafikdisplay über den Druckerport ansteuern. Meine Frage lautet: Mit welchen Befehlen (c++) kann ich die einzelnen Pins am Parallelport ansteuern ? Ich verwende dabei ein EA P128-6N2LED mit einem HD61202 Chipsatz (Controller)

bei Antwort benachrichtigen
(Anonym) Jens Wiedemann „parallelport“
Optionen

Hallo Jens

Du kannst in C++ mit _outp() und _inp() direkt auf den Parallelport zugreifen (Geht nicht unter Win2000/NT)
Vorher conio.h includieren

Die Adresse des 1 Ports ist 0x378
Der Port hat 3 Register
0x378 Datenregister
0x379 Statusregister
0x37a Steuerregister

Das Datenregister enthält den Datenbus (Pins 2-9)
Entweder lesen oder Schreiben.
Wenn Du daten ausgeben willst musst du vorher im Steuerregister das Bit 5 löschen (&0xdf)
Wenn Du die Pins lesen willst entsprechend das Bit 5 setzen (|0x20)

Zum Ausgeben von Daten kannst du weiterhin im Steueregister Bit 1 (Autofeed Pin 14) und Bit 2 (Reset Pin16) benutzen

Zum Einlesen kannst Du einige Bits des Statusregisters benutzen.

Bit 3 Error Pin 15
Bit 4 Select Pin 13
Bit 5 Paper Out Pin 12
Bit 6 Acknowledge Pin 10
Bit 7 Busy Pin 11

Außer der Dateneingabe über das Datenregister sollte es eigentlich auf jedem Port funktionieren.

Die beiden alternativen PortBasisAdressen sind 0x3bc und 0x278

Du hast also bis zu 10 Outs und mindestens 5 Ins zur Verfügung

Gruß
Wolf




bei Antwort benachrichtigen