Daten lesen über Parallelport LPT1

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
madnex1966
User
Beiträge: 5
Registriert: Mittwoch 23. März 2016, 19:24

Hallo,

ich habe einen Eprom Programmieradapter für die Parallele Schnittstelle und würde diese gern über Python steuern. Alle Versuche mit pyparallel sind bisher vergeblich. Ich kann die Steuerleitungen setzen und den Status lesen, ich kann Daten über den Port ausgeben und auch das Datenrichtung im Steuerregister setzen. Nur die Versuche mit parallel.Parallel.getData() liefern immer 0. Hat jemand inzwischen Erfahrungen auf diesem Gebiet?

Ich nutze Python 2.7 unter Ubuntu. Windows steht leider nicht zur Verfügung.

mfg madnex1966
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Linux sollte da kein Problem darstellen.

Wie ueblich sollte man das Problem in Teile zerlegen. Und da kann man erst mal beim Parallelport anfangen. Kannst du - mit einem Oszilloskop, oder zur Not Multimeter - feststellen, ob du die Pins schalten kannst? Und wenn das geht, kannst du sie auch als Eingang schalten, und dort Aenderungen auslesen? Letzteres sollte sicherheitshalber nur mit einem Widerstand gegen 5V probiert werden - 1KOhm oder so sollte da ok sein.
madnex1966
User
Beiträge: 5
Registriert: Mittwoch 23. März 2016, 19:24

Oh da hab ich mich wohl ein wenig unkonkret ausgedrückt. Ich hab die beschriebenen Umstände schon auf den Parallelport bezogen, den ich über das Modul pyparallel ansteuern kann. Nur mit dem Einlesen klappt es halt nicht.
mfg madnex1966
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na, was heisst denn du kannst den ansteuern? Das bedeutet ja zuerst einmal nur, dass dein pyparallel-basierter Code laeuft. Aber produziert der auch die Ausgangspegel deines Vertrauens? Ich hatte schon geschrottete Parallelports, wo halt die Treiberstufen hin waren... da gibt es natuerlich kein Feedback (das ist ja nicht das viel komplexere USB, wo man merkt, wenn was auf einem basalen Level nicht geht), sondern da werden Bits gesetzt, und ob die Elektronik mitspielt weiss der Himmel.

Und wenn das geht, kannst du auch einlesen? Wenn ja, dann kann als naechstes auch der EEPROM-Adapter gehimmelt sein :K
madnex1966
User
Beiträge: 5
Registriert: Mittwoch 23. März 2016, 19:24

Nein, es ist nicht nur der Code, der läuft, ich kann das Ergebnis auch mit dem Pegeltester bzw mit LED's am Port ablesen.
Nur wenn ich den Port auf Eingang setze mit setDatatDir(2) und mit getData() die Eingangssignale an den Daten-Pin's abfrage bekomme ich egal wie ich die Pins belege nur 0 ausgelesen. D.h. für mich, dass ich den Port nicht als Eingang geschaltet bekomme oder dabei etwas verkehrt mache. Der Port selbst ist in meinem Bios auf bidirektional geschaltet hatte es aber auch mit ECP EPP versucht.
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hm. Also dann faellt mir leider auch nicht mehr viel ein. Habe mir gerade mal die pyparallel-Quellen angeschaut - da gibt's ja nicht so viel falsch zu machen.


Zwei Dinge, die ich probieren wuerde:

- ein Programm suchen, dass mit dem Parallelport als Eingang arbeitet, und schauen, ob man das zum laufen bekommt. Keine Ahnung was das sein koennte.
- das Ganze auf einem anderen Rechner probieren. Ja, maessig kreativ, aber Fehlerausschlussverfahren halt.

Viel Erfolg!
madnex1966
User
Beiträge: 5
Registriert: Mittwoch 23. März 2016, 19:24

Danke, ich werde mal auf diesem Weg weitermachen.
madnex1966
User
Beiträge: 5
Registriert: Mittwoch 23. März 2016, 19:24

Na wer sagt es denn. Hab mich mal mit der Beschreibung der parallelen Schnittstelle näher auseinander gesetzt und siehe da mit parallel funktioniert auch das Einlesen der Daten.
Antworten