Forum: Mikrocontroller und Digitale Elektronik USB Centronics converter funktionieren nicht


von Daniel (Gast)


Lesenswert?

Bei EBay gibt es preiswerte USB to Paralellport Converter. Habe mir so
ein Ding mal gekauft, um meiner Schaltung eine USB Schnittstelle zur
verfügung zu stellen. Jetzt habe ich folgendes Problem. Dieser USB
Konverter stellt mir keine IO Ports zur vefügung ,die ich mit
Assembler, bzw. mit einem IO Treiber unter XP ansteuern kann.
Ich kann also die einzelnen pins nicht enzeln an und aus schalten.
Ich dachte erst das Ding währe kaputt. Aber als ich nen Drucker daran
angeschloßen habe, hat er einwandfrei gedruckt.  Wie wird dieser
Virtuelle LPT-Port denn angesprochen, ohne  IO Adressen?

von Tim (Gast)


Lesenswert?

hi daniel,

die Ansteuerung geht nur über den ausgewählten Druckertreiber, dh. Du
musst das Protokoll des installierten Druckers kennen und kannst dann
die entspechenden 'Zeichen' zum Druckerport senden bzw. drucken.
Am Besten installierst Du einen uralten, aber protokollbekannten
Nadeldrucker (z.B. Epson FX80) und sendest dann im nichtgraphikmodus
die ASCII-Zeichencodes zum Port.

grüße

Tim

von Daniel (Gast)


Lesenswert?

"und sendest dann im nichtgraphikmodus
die ASCII-Zeichencodes zum Port"

Das Problem ist ja ,es gibt keinen Port ,wo ich was Hinschicken kann.
Ich könnte theoretisch ja ne TextDatei ausdrucken. Aber ich will ja
auch Daten
 empfangen und nicht nur senden.

von Tim (Gast)


Lesenswert?

Senden ist wie gesagt kein Problem:
Du installiertst den FX80 als Drucker. Wählst diesen in Deinem (selbst
geschriebenen) Windows-Programm aus, druckst z.B. ein 'a' und erhälst
an den Datenleitungen des Centronix-Steckers dann das binäre Bitmuster
des Zeichencodes(65). Ggf. müssen noch die Steuerleitungen (Busy,Strobe
etc. bedient werden), damit das Handshaking der (physikalischen)
Schnittstelle funktioniert.
Da Du über Windows-API-Befehle auch den Druckerstatus abfragen kannst
(Busy, Paper out etc.) ist auch das Einlesen von Daten (zumindest über
die einzelnen Steuerleitungen) möglich.
Einige Drucker liefern auch Fehlercodes über die Datenleitungen zurück,
ob es dafür auch API-Befehle gibt müsste man nochmal nachschlagen.

von m.merten (Gast)


Lesenswert?

@daniel
Du suchst einen realen Hardware I/O port und den kann man mit den
usb/centronics nicht 1:1 nachbilden.

von thkais (Gast)


Lesenswert?

Das sollte aber, den richtigen Treiber vorausgesetzt, gehen, ist
natürlich auch eine Frage des USB-Parallel Converter-Chips. So weit ich
bislang mitbekommen habe, ist der 245 von FTDI in der Lage, einen 8-Bit
Port nachzubilden - natürlich nicht per I/O-Adresse, sondern per
Treiber-Aufruf.
Hast Du denn irgendwelche Informationen zu den verwendeten
Converter-Chips? Auf der Hersteller-Seite gibts dann evtl. Treiber, die
eine Einzelansteuerung von Bits zulassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.