Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

parallelport

Jens Wiedemann / 4 Antworten / Baumansicht 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

versuch doch mal mit nem Javascript den Browser zu ermitteln und dann dem Applet einen parameter mit auf den weg zu geben. Keine Ahnung ob das geht ... aber einen anderen weg kann ich mir net vorstellen, weil man in java, aufgrund der sicherheitsmaßnahmen oder so, nich in andere progs reinpfuschen kann, wie man zB mit C machen kann (Windoze API).

bei Antwort benachrichtigen
Anonym (Anonym) „versuch doch mal mit nem Javascript den Browser zu ermitteln und dann dem Applet...“
Optionen

auch ne Möglichkeit, aber ob die bei der Parallelschnittstelle eine Wirkung zeigt ist mehr als fraglich! :-)

Jetzt zur Parallelportprogrammierung:

Auf welcher Plattform soll denn die Anwendung laufen, die Ansteuerung des Parallelports ist nämlich OS-abhängig!

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

Hi jens!
wenn du mehr darüber weisst, lass es mich auch wissen. will mir nämlich nen mp3 player fürs auto baun.
Thankxx.
Manu

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