Schönen Donnerstag Abend, ich habe vor kurzem einen Thermodrucker (TL60III von "custom") gekauft mit der Absicht den über einen Mikrocontroller anzusteuern. Allerdings habe ich Schwierigkeiten beim Ansteuern des Druckers über die serielle Schnittstelle (erst mal vom PC aus). Einfach nur Text ausgeben geht problemlos. Aber ich verstehe nicht ganz wie ich "Befehle" an den Drucker senden kann. Es gibt da die sogenannten ESCPOS Befehle die bei solchen Druckern üblich sind, bestimmte Bytes mit denen man Formatierung, Schriftgröße, das Schneidwerk, ... steuern kann. Ich habe auch einiges dazu gefunden, nur keine Tabelle mit den Befehlen und den HEX Bytes die dafür zum Drucker gesendet werden müssen. Auf der Website des Herstellers finde ich auch nichts dazu. Ebensowenig im User-Manual des Druckers. Ich wäre über jede Hilfe dankbar ...
Hilft das eventuell weiter: https://aures-support.com/DATA/drivers/Imprimantes/Commande%20ESCPOS.pdf Nicht speziell für diesen Drucker, eher allgemein.
Ja, das ist perfekt! Aber das offenbart das nächste Problem: Wenn ich z.B. 1B69 an den Drucker sende (der Code um das Papierschneidwerk zu aktivieren) dann druckt der Drucker einfach 1B69 als Text.
Wenn ich Dich richtig verstehe schickst Du den Text "1B69". Das kann nicht funktionieren, es geht um die HEX Codes 0x1B 0x69. In C würder das als String so aussehen: "\x1B\x69" (geht aber so nur wenn Du von einem C Programm aus diesen String an den Drucker schickst). Alternativ kannst Du vielleicht mit einem Teminalprogramm die Hex Bytes so schicken, wenn das nicht geht die Datei im Anhang mit dem Terminalprogramm an den Drucker schicken. In der Datei sind die zwei Bytes 0x1B 0x69.
0x1B ist ein nicht druckendes Zeichen (ASCII Code dezimal 27 für ESC), in deinem Fall gefolgt von 0x69 (dezimal 105, ein kleines i). Das ESC kannst du am PC mit dem 'Alt-Trick' erzeugen. Alt-Taste drücken, am Ziffernblock 2 und 7 eingeben und die Alt-Taste wieder loslassen. Vom MC lässt sich einfach das 27 oder 0x1B per UART oder was auch immer an den Drucker senden.
Gut, dass mit dem "Datei senden" hat funktioniert, der Drucker hat zumindest keinen Text ausgegeben. Aber das Schneidwerk wurde nicht betätigt. Hmmm .... Ich glaube ich werde wohl den Hersteller fragen müssen ...
Andre G. schrieb: > Aber das Schneidwerk wurde nicht betätigt. Schieb mal noch ein CR oder CR/LF hinterher. Also 0x13 und 0x10.
Blöde Frage: Mit welcher Software erstellt / bearbeitet man solche HEX-Dateien?
Gut, ich habe jetzt mal direkt im Terminal Programm die Bytes gesendet, gefolgt von CR und LF und das funktioniert! Der Drucker schneidet das Papier! Danke! (Ich habe eine Terminal Software gefunden bei der man HEX mit dem 0x Präfix eingeben kann, damit klappt das alles wunderbar!)
:
Bearbeitet durch User
Diese ESC/POS Dokumentation passt eventuell besser zu Deinem Drucker, zumindest ist sie u.a. für das Modell TL60 gedacht: https://kiosksoft.ru/device_files/download/167
Beitrag #7099909 wurde vom Autor gelöscht.
Andre G. schrieb: > Mit welcher Software erstellt / bearbeitet man solche HEX-Dateien? Ich benutzte HxD (für Windows): https://mh-nexus.de/en/programs.php Anbei die damit erstellte Sequenz zum Papierschneiden.
Matthias S. schrieb: > Schieb mal noch ein CR oder CR/LF hinterher. Also 0x13 und 0x10. Ich sach' ja - wenn man bisschen dämlich ist, dann kann man nich' dazu. Es muss natürlich 0x0D und 0x0A heissen. Nur das ist CR und LF.
Matthias S. schrieb: > Matthias S. schrieb: >> Schieb mal noch ein CR oder CR/LF hinterher. Also 0x13 und 0x10. > > Ich sach' ja - wenn man bisschen dämlich ist, dann kann man nich' dazu. > > Es muss natürlich 0x0D und 0x0A heissen. Nur das ist CR und LF. Ich habe mein Terminal Programm so eingestellt dass bei jedem Drücken der Enter Taste ein CR und LF gesendet wird, deshalb ist mir dein Fehler nicht aufgefallen ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.