Mit dem stty
Befehl können Sie solche Parameter einstellen.
Dies zeigt alle Einstellungen an der ersten seriellen Schnittstelle an (ersetzen Sie diese ttyS0
durch, ttyUSB0
wenn Sie eine serielle USB-Schnittstelle verwenden):
stty -F /dev/ttyS0 -a
Dadurch wird die Baudrate auf 9600, 8 Bit, 1 Stoppbit, keine Parität eingestellt:
stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb
Eine Sache, die die Leute im Allgemeinen verwirrt, ist, dass die meisten seriellen Treiber die Einstellungen auf die Standardeinstellungen zurücksetzen, sobald das Gerät geschlossen wird (dh kein Prozess hat das Gerät mehr geöffnet). Mit dem obigen stty
Befehl werden die Einstellungen festgelegt. Wenn dies erledigt ist, setzt der Treiber sie erneut zurück. Wenn Ihre POS-Software zuerst das Gerät öffnet und dann die stty
Einstellungen vornimmt, sollten diese so lange bestehen bleiben, bis Ihre POS-Software das Gerät wieder schließt (z. B. beim Beenden).
Ich hätte gedacht, dass die POS-Software eine Möglichkeit haben sollte, diese Einstellungen selbst zu konfigurieren. Wenn Sie Ihre eigene Software zum Ansteuern des Druckers schreiben, stellen Sie sicher, dass Sie zuerst das Gerät öffnen und dann den stty
Befehl ausführen .
Möglicherweise müssen Sie auch mit anderen Einstellungen herumspielen, z. B. opost
bedeutet dies, dass die Nachbearbeitung der Ausgabe durchgeführt wird. Wenn opost
und onlcr
beide gesetzt sind, onlcr
wird ein zusätzlicher Wagenrücklauf (0xd) hinzugefügt, wenn ein Zeilenumbruchbyte (0xa) ausgegeben wird, um normalerweise das Drucken von Treppen wie z
This is a line
This is the next line
Dies kann oder kann nicht sein, was Sie wollen. Wenn Sie eine rohe Eins-zu-Eins-Ausgabe an den Drucker wünschen, schalten Sie diese opost
aus (fügen Sie -opost
sie den stty
Parametern hinzu).
Handshaking (Flusskontrolle) wird ebenfalls gesteuert stty
, ohne mehr über den Drucker zu wissen, kann ich nicht sagen, ob Sie etwas einstellen müssen.
Überprüfen Sie die stty
Manpage für viele weitere Informationen.
screen /dev/ttyS0 <baud-rate>
(der Standardwert wäre 9600, unabhängig von den systemweiten Einstellungen, nicht einmal sicher, ob solche vorhanden sind)