mikrocontroller.net

Forum: PC Hard- und Software WinXP: Wie Daten über LPT1 senden?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

aufgrund eines Beitrages hier über den ATARI ST habe ich meinen auch mal 
aus dem Keller geholt und etwas damit gespielt. Habe damals einige 
Hardware für den ST gebaut und nun auch mal einiges angeschlossen.

Nun habe ich ein Problem:

Eine alte Hardware erhält seine Daten parallel über den Druckerport des 
ST. Das klappt auch einwandfrei. An einem älteren IBM-Notebook unter 
WinXP mit paralleler Druckerschnittstelle (LPT1) gelingt es mir jedoch 
nicht, irgendwelche Daten über LPT1 zu senden.

Beim ATARI erstelle ich eine Textdatei mit "ABC" gefolgt von <CR><LF. 
Ein Doppelklick auf die Datei lässt die Datei entweder Anzeigen oder 
Drucken. Mit einem angeschlossenen Centronics-Tester kann ich pro 
Tastendruck je eines der 5 Zeichen anzeigen. Danach ist der Druck 
beendet.

Die selbe Datei unter WinXP: Der Eigenschaftendialog zeigt 5 Byte und 
der HEX-Monitor zeigt 41,42,43,0D,0A. Aber es gelingt mir nicht, diese 5 
Byte über LPT1 zu senden, bzw. mit dem Centronics-Tester abzurufen.

Was muss ich auf dem IBM-Notebook unter WinXP unternehmen, um diese 5 
Byte über LPT1 zu senden?

Für eure Mühe im Voraus vielen Dank
Wilhelm

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
copy /b datei.txt >lpt1:
wäre mein Versuch.

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Tipp.

Habe also die Datei in datei.txt umbenannt und nach C: verschoben.
Dann in der DOS-Box:

C:\>copy /b datei.txt >lpt1:

Nix passiert, am angeschlossenen Centronics-Tester kommen keine Zeichen 
an. Allerdings hängt nun die DOS-Box, ich kann keine Zeichen mehr 
eingeben. Einen Timeout scheint es nicht zu geben.

Kann es sein, dass die 25 polige SUB-D Buchse am IBM-Notebook anders 
belegt ist als die 25 polige SUB-D Buchse am ATARI?

Autor: michael_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kann sein, dass die Pegel an deinem Notebook zu gering sind.
Alte Geräte wie dein Atari sind für 5V ausgelegt.
Neuere Geräte haben oft weniger Spannung am Parallelport.

Autor: ... (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
copy /b datei.txt lpt1:

Autor: Ingo W. (uebrig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wilhelm.W schrieb:
> Eine alte Hardware erhält seine Daten parallel über den Druckerport des
> ST.

Deine Hardware zieht auch die "BUSY"-Leitung auch low, und bestätigt 
jedes empfangene Zeichen mit einem Impuls an "ACK"?

Falls es ohne Handshake, nur durch Ausgabe der Bitmuster auf den 
Datenport funktionieren muss, wirst du um direkten Zugriff auf die 
Schnittstelle nicht herumkommen. Unter XP ging das noch, mit einem 
speziellen Treiber, der dies erlaubte, mir fällt nur gerade der Name 
nicht mehr ein.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... schrieb:
> copy /b datei.txt lpt1:

Stimmt, ohne das ">"

Zumindest auf Strobe sollte man einen kurzen Puls sehen, aber der 
ominöse Tester kommt vielleicht mit den geringeren Pegeln nicht klar.
Und vielleicht muss die Schnittstelle im BIOS noch ent-EPP-t werden? 
Keine Ahnung ob das einen Einfluss hat, aber kann man ja mal testen.

Autor: Christian M. (Firma: magnetmotor.ch) (chregu) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ingo W. schrieb:
> Unter XP ging das noch, mit einem speziellen Treiber, der dies erlaubte,
> mir fällt nur gerade der Name nicht mehr ein.

https://www.franksteinberg.de/win32bit.htm

Gruss Chregu

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uiiii, hier gibts auch noch atari user.

Würde mich gerne mit einklinken. Habe auch noch einen st520 mit hdd und 
pipapo am laufen. Auch ein mega st2 steht hier.

Zur centronik.
Beim atari kommt die centronik aus dem soundchip, soweit ich weiß. 
AY8910 oderso. Diese konnte man komplett frei ansteuern, was so beim pc 
nicht vorgesehen ist. Zumindest nicht mal so.

Gibt es noch mehr atarianer?

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> copy /b datei.txt lpt1:

1.Statt Atari mal Drucker angeschlossen?
2.Dann noch Auge ins Bios um den richtigen Mode für LPT einzustellen.
3.Nicht jedes Kabel ist voll belegt. 
https://de.wikipedia.org/wiki/Parallele_Schnittstelle

Autor: Alan Shugart (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher dass die Parallelschnittstelle am PC HW-mässig noch heile ist?

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens M. schrieb:
>> copy /b datei.txt lpt1:
> Stimmt, ohne das ">"

Auch ohne das ">" keine Änderung. Allerdings nach einigen Minuten die 
Meldung: "Der Drucker hat kein Papier mehr"

Danach sehe ich in der DOS-Box den Promt wieder.

Ingo W. schrieb:
> Deine Hardware zieht auch die "BUSY"-Leitung auch low, und bestätigt
> jedes empfangene Zeichen mit einem Impuls an "ACK"?

Habe mir mal eben die Schaltung und Beschaltung des Centronics-Tester 
angeschaut: Pin 1 = Strobe, Pin 2-9 = D0-D7, Pin 11 = Busy, Pin 18 = 
GND. Mehr ist nicht. Strobe setzt hier ein FlipFlop, der Ausgang Q 
erzeugt das Busy-Signal. "ACK" gibt es hier nicht. Das FlipFlop kann ich 
über eine entprellte Taste rücksetzen (nächstes Zeichen abholen). Der 
Tester wird extern mit 5VDC versorgt.

Beim ATARI funktioniert der Tester einwandfrei. Der Tester war mal eine 
Zwischenprüfung in meiner Ausbildung. Deshalb staune ich eben nicht 
schlecht, dass er an einem PC nicht funktioniert.

Alan Shugart schrieb:
> Sicher dass die Parallelschnittstelle am PC HW-mässig noch heile ist?

Nö, habe aber noch ein zweites Notebook, dort das gleiche. Im BIOS 
beider Notebooks steht LPT auf ENABLED und bi-direktional.

oszi40 schrieb:
> 3.Nicht jedes Kabel ist voll belegt.

Der Centronics-Tester wird direkt an LPT angesteckt, also ohne Kabel.

Was hat es mit dieser INPOUT32.DLL auf sich. Brauche ich diese dll oder 
brauche ich sie nicht? Falls ja, wie richte ich diese auf meinem 
Notebook ein?

Autor: Andreas M. (andreas_m62)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
giveio.sys

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die DLLs nutzen nur was, wenn du ein Programm hast das sie benötigt.
Die Software kann dann über die DLLs die Schnittstelle frei ansteuern, 
ohne Beschränkungen, ähnlich wie ein Microcontroller.

Der Fehler mit dem Papier deutet drauf hin, das die Schnittstelle
- nicht genug Spannung hat und der Tester die Pegel nicht erkennt
- defekt ist
- darauf wartet, das /Error high wird, das ist Pin 15
- darauf wartet, das Paper Emtpy low wird, das ist Pin 12
- Ack bedient haben möchte
- darauf wartet das Select high wird, Pin 13

Ich würd aufgrund der Paper-Meldung mal mit Pin 12 anfangen...

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alan Shugart schrieb:
> Sicher dass die Parallelschnittstelle am PC HW-mässig noch heile ist?

Mir fällt eben ein, dass ich an dem Port und an dem Notebook ab und zu 
einen GALEP-4 betreibe. Also ist die Schnittstelle in Ordnung.

Jens M. schrieb:
> Die DLLs nutzen nur was, wenn du ein Programm hast das sie benötigt.

OK, dann lasse ich das mit der dll mal außen vor.

Jens M. schrieb:
> Der Fehler mit dem Papier deutet drauf hin, das die Schnittstelle
> - nicht genug Spannung hat und der Tester die Pegel nicht erkennt
> - defekt ist
> - darauf wartet, das /Error high wird, das ist Pin 15
> - darauf wartet, das Paper Emtpy low wird, das ist Pin 12
> - Ack bedient haben möchte
> - darauf wartet das Select high wird, Pin 13
>
> Ich würd aufgrund der Paper-Meldung mal mit Pin 12 anfangen...

Oje :-(

Da mein Centronicstester mit 5V läuft: Sind 5V für ein H noch OK?

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gab da auch noch einen huelfreichen mode Befehl.

Was sagt mode LPT1: /STATUS
?

Das selbe auch noch mal fuer LPT2: und LPT3:.

Autor: Sascha W. (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wilhelm.W schrieb:
> Oje :-(
>
> Da mein Centronicstester mit 5V läuft: Sind 5V für ein H noch OK?

Du solltest Centronics nicht mit RS232 verwechseln - Centronics arbeitet 
nur mit 5V.

Sascha

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens M. schrieb:
> Ich würd aufgrund der Paper-Meldung mal mit Pin 12 anfangen...

Das war aus der DOS-Box ein voller Erfolg !

Allerdings zeigt sich ein seltsamer Effekt: Wenn ich via Tstendruck Busy 
auf L setze, lässt sich das Notebook mit dem Senden eines Zeichens eine 
Sekunde Zeit, nach einem weiteren Tastendruck wieder eine Sekunde. Also 
5 Zeichen in 5 Sekunden.

Ich kann auf dem Tester jedoch Busy über einen Jumper statisch auf L 
legen, dann wird auch eine 10k Datei im Bruchteil einer Sekunde 
gesendet.

Hintergrund: Ich möchte eine ATARI-Software auf einem ATARI-Emulator 
unter WinXP laufen lassen. Das hat auch super funktioniert, nur die 
Datensendung über den Druckerport an die externe Hardware funktionierte 
nicht. Mit Pin 12 auf L funktioniert das nun. PERFEKT !

Sascha W. schrieb:
> Du solltest Centronics nicht mit RS232 verwechseln - Centronics arbeitet
> nur mit 5V.

Das ist auch mein Wissensstand, ich las aber:

Jens M. schrieb:
> der
> ominöse Tester kommt vielleicht mit den geringeren Pegeln nicht klar.

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... schrieb:
> Was sagt mode LPT1: /STATUS

Druckerausgabe ist nicht umgeleitet

Autor: Toxic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas M. schrieb:
> giveio.sys

Wer  unter XP direkten Zugriff auf die parallele Schnittstelle haben 
moechte sollte sich diese Webseite ansehen:

http://home.snafu.de/mgrafe/index.htm

Eventuell ist sie die Loesung fuer den TO

Vor etwa mehr als 12 Jahren hatte ich noch einen EEpromprogrammierer der 
fuer Windows 98 entwickelt wurde und unter XP seinen Dienst eingestellt 
hatte.Mit Hilfe des "DDW"-Projekts konnte ich den EEprommer wieder 
problemlos in Betrieb nehmen.
Die Webseite ist interessant fuer alle die noch XP-Laptops/Rechner mit 
aelterer Software betreiben moechten.

Software wie DOSBOX etc ist nicht erforderlich....

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Wilhelm W
Meine Anmerkung mit den Pegeln kommt daher, das LPT eigentlich 5V 
verarbeitet, viele moderne Computer aber eher mit 3,3V arbeiten.
Das reicht bei mancher Hardware aus, aber dein Tester hätte evtl. 
notwenidge Signale nicht gesehen, weil es damals noch nichts 3,3V gab.

Aber wenn PE geholfen hat, ist ja alles gut.
Das mit der einen Sekunde dürfte einer der Gründe für die DLLs sein ;)
Obwohl es nicht schaden würde, Select und Error noch passend zu 
schalten, möglicherweise liegen die offenen Eingänge auf nicht klarem 
Pegel und fangen sich was ein.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das LPT eigentlich 5V verarbeitet

Wesentlich mehr als 3.6 V wird man da auch nicht sehen.
TTL laesst gruessen.
Die 3.3 v aus einem CMOS sollten also locker reichen.

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens M. schrieb:
> Ich würd aufgrund der Paper-Meldung mal mit Pin 12 anfangen...

Witzigerweise liegt an der externen Hardware Pin 12 bereits an Masse.

Letztendlich aber egal, denn die externe Hardware läuft nicht am LPT1 
des  Notebooks. Zwar kann ich bei der Emulator Einstellung "exklusiver 
Zugriff auf LPT1" mit meinem Centronics-Tester die Bytes mit der Taste 
einzeln raus lassen, das Handshaking mit der externen Hardware scheint 
aber dann nicht zu funktionieren.

Wenn z.B. Busy H ist, erscheint am ATARI die Programm-Meldung: "Drucker 
nicht bereit". Am ST-Emulator erscheint diese Meldung nicht, es bleibt 
aber das Programm hängen und der Emulator stürzt ab (keine Rückmeldung).

Das Ganze ist wohl doch eine Nummer zu speziell. Dann baue ich eben 
weiterhin den ATARI ST für diesen Job auf. Ist halt schon eine Menge 
Zeug auf dem Tisch, ich hoffte, die Daten auch aus dem Notebook raus 
lassen zu können.

Der Emulator ist übrigens für Windows 95/98/ME und Windows 
NT4.0/2000/XP. Alle meine ATARI-Programme laufen auf dem Emulator 
anstandslos, scheinbar ist es aber ein Problem, die parallele 
Schnittstelle anzusprechen.

Autor: michael_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens M. schrieb:
> @Wilhelm W
> Meine Anmerkung mit den Pegeln kommt daher, das LPT eigentlich 5V
> verarbeitet, viele moderne Computer aber eher mit 3,3V arbeiten.

michael_ schrieb:
> Es kann sein, dass die Pegel an deinem Notebook zu gering sind.
> Alte Geräte wie dein Atari sind für 5V ausgelegt.
> Neuere Geräte haben oft weniger Spannung am Parallelport.

Hab ich ja hier schon genannt.

... schrieb:
> Wesentlich mehr als 3.6 V wird man da auch nicht sehen.
> TTL laesst gruessen.
> Die 3.3 v aus einem CMOS sollten also locker reichen.

Aber die alten Chip im Atari wollen auch Strom sehen.
Siehe Lastfaktor.
Bei einigen CNC-Steuerungen wird explizit darauf hingewiesen, dass sie 
nur mit Schnittstellen von richtigen Desktop-PC funktionieren.

Erstmal würde ich einen Kreuzvergleich mit einem anderen PC machen.

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
michael_ schrieb:
> Bei einigen CNC-Steuerungen wird explizit darauf hingewiesen, dass sie
> nur mit Schnittstellen von richtigen Desktop-PC funktionieren.

Wenn ich mich richtig erinnere waren die ersten 
Centronics-Schnittstellen (wer hat LPT erfunden? Die Fa. Centronics 
wars) aufgebaut mit Treibern der Art 7406 und Pullup-Widerständen von 
ein paar hundert Ohm. Die konnten einfach alles treiben.

Georg

Autor: Matthias L. (limbachnet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne ganz einfache Idee - hast du mal probiert, wie das Biest 
reagiert, wenn du den Parallelport im BIOS auf klassisch unidirektional 
stellst? Oder ist bidirektional ohne ECP schon die einfachste mögliche 
Einstellung?

Autor: Wilhelm.W (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias L. schrieb:
> Oder ist bidirektional ohne ECP schon die einfachste mögliche
> Einstellung?

Nö, in eine Richtung ist einstellbar, werde ich noch testen.
Das Problem scheint mir aber wo anders zu liegen.

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.

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