mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Parallel Port Pins


Autor: salre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Spezi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Route_66 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.