staging.inyokaproject.org

GPIO über parallele Druckerscnittstelle

Status: Gelöst | Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)
Antworten |

schneibva

Avatar von schneibva

Anmeldungsdatum:
25. Dezember 2006

Beiträge: 514

Ich möchte die parallele Druckerschnittstelle lp0 als GPIO umfunktionieren. Mir ist aber nicht klar, wie/wo ich auf die einzelnen Pins komme, die möchte ich einzeln ansteuern.

Vielen Dank. S.

Moderiert von Berlin_1946:

Dieses Thema ist verschoben worden. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“)!

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10477

Hallo ,schneibva,
https://netzmafia.ee.hm.edu/skripten/hardware/PC-Schnittstellen/parallel.html

Vllt hilft dir das schon mal etwas weiter?

Nur zur Klärung, wie hier beschrieben. Meinst du das? Du möchtest die Druckerschnittstelle als PIO benutzen.
GPIO:
https://de.wikipedia.org/wiki/GPIO
Ein GPIO (für engl. General Purpose Input/Output, wörtlich Allzweckeingabe/-ausgabe) ist ein allgemeiner digitaler Kontaktstift an einem integrierten Schaltkreis (IC), dessen Verhalten,

PIO:
https://de.wikipedia.org/wiki/Programmed_Input/Output
Programmed Input/Output (auch bekannt als Programmable Input/Output, kurz PIO) ist ein Regelwerk zur Steuerung des Datenaustauschs zwischen dem Hauptprozessor und den Peripheriegeräten,

Bearbeitet von Thomas_Do:

Link-Syntax korrigiert.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6532

Unter DOS hatte ich den Parallelport, zusammen mit einem R2R-Netzwerk , verwendet um .mod Dateien abzuspielen. (Heute nimmt man dazu den milkytracker)

Ich finde den Artikel von Netzmafia sehr interessant. Schade ist nur, dass man unter Linux für den zugriff auf den Port Admin sein muss.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Ehrlich gesagt, verstehe ich nicht wirklich, was du machen willst. Wenn du den Signalfluss über der Zeit an den einzelnen Pins betrachten willst, kannst du dir ja die URL anschauen, auf die Berlin_1946 verwiesen hat. Eventuell willst du aber auch nur ein bisschen lernen, wie man eine parallele Schnittstelle direkt programmiert (ala ich schreib mir meinen eigenen Driver).

Wenn du allerdings Signale (GPIO) über die parallele Schnittstelle steuern willst, würde ich dir eher den "normalen" Ansatz empfehlen. Hole die einen z.B. Arduino (wie Wemos D1 mini) für um die 3€ und stecke/löte deine Signalleitungen auf die dort vorhandene DIO Pins. Wie und was du steuerst, legst du in deinem kleinen .ino Programm fest, das du in den Arduino lädst. Dabei kannst du als Schnittstelle WiFi, USB usw nutzen. Weiterhin hast du dort stabilere Situationen (3,3V oder 5V) zur Verfügung, die sogar ein paar mA liefern können.

schneibva

(Themenstarter)
Avatar von schneibva

Anmeldungsdatum:
25. Dezember 2006

Beiträge: 514

shiro schrieb:

Ehrlich gesagt, verstehe ich nicht wirklich, was du machen willst.

Ich möchte 9 Ausgängpins und 1 Eingangspin einzeln ansteuern (falls das einzeln nicht geht ggf ein ganzes Byte per AND und OR manipulieren). Bei den Raspis geht das entweder über /sys/class/gpio/... oder z.B. bei Python über die gpio-Befehle. /sys/class/gpio/... gibt es auch am PC, da kann ich aber die parallele Schnittstelle nicht ansteuern.

Wenn du allerdings Signale (GPIO) über die parallele Schnittstelle steuern willst, würde ich dir eher den "normalen" Ansatz empfehlen. Hole die einen z.B. Arduino (wie Wemos D1 mini) für um die 3€ und stecke/löte deine Signalleitungen auf die dort vorhandene DIO Pins.

Da kann ich gleich einen Raspi/IOWarrior/USB4all nehmen, das ist einfacher und ich muss nicht noch ein Programm für den Arduino schreiben. aber das ist zusätzliche externe Hardware. In einigen PCs gibt es noch eine parallele Schnittstelle (auch auf modernen BM gibt es das noch), ggf stecke ich eine Karte rein.

Python wäre sowieso mein Favorit, Arduinos mag ich eh nicht.

Dakuan schrieb:

Schade ist nur, dass man unter Linux für den zugriff auf den Port Admin sein muss.

Kann man mit udev erschlagen.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1303

Ich möchte 9 Ausgängpins und 1 Eingangspin einzeln ansteuern ...

Ok, ich bevorzuge zwar den Arduino, aber jeder soll ja nach seiner Facon selig werden.

Schau mal das kleine c-Programm hier an: https://stackoverflow.com/questions/17851461/how-to-access-parallel-port-in-linux#17866571

Ich denke, das ist das, was du suchst.

schneibva

(Themenstarter)
Avatar von schneibva

Anmeldungsdatum:
25. Dezember 2006

Beiträge: 514

Ich habe den Tip von shiro ausgiebig getestet, läuft nicht. Ich habe jetzt die schon vorhanden Lösung mit dem Raspi ausgebaut: GUI, Bildschirm, Tastatur und Maus spendiert und er tut was er soll ohne sich dabei zu überlasten.

Danke an alle. S.

Antworten |