Frage

Ich verwende den Bildschirm, um den Text von einer seriellen Konsole zu lesen. Das Problem ist, dass die Ausgabe nur Newline n, aber keine Wagenrückgabe r zu haben scheint, daher sieht das Display so aus ...

Line1
     Line2
          Line3

Ich frage mich, ob es einen Patch gibt, um dieses Problem zu beheben.

War es hilfreich?

Lösung

Versuchen stty onlcr.

Das Mann Seite Sagt, dass es Neulinien zur Kutschenrückgabe- / Newline -Paare für die Ausgabe übersetzen wird, was das zu sein scheint, was Sie brauchen.

Andere Tipps

Onlcr ist zum Übersetzen ÖUtgoing newlInes zu cAnordnung rEturns.

stty -F /dev/ttyS0 inlcr werde übersetzen eingehend Neulinien für die Kutschenrendite. Sie können das aus einem anderen Terminal nach dem Startbildschirm ausführen, um zu vermeiden, dass das Zurücksetzen dieses Bildschirms beim Start kann. Leider wird dies jedoch nur das Problem ändern. Sie werden dann nur Rückkehr und keine Neulinge erhalten.

Was benötigt wird, ist eine Option für anhängen Eine Rückkehr zu einer eingehenden Newline, damit das Terminal erhält \n\r, was das serielle Gerät ist sollte Erste Ausgabe haben. Es scheint eine zu geben onlret Option, dies für ausgehende Daten zu tun, aber nein inlret Option, wie wir in diesem Fall zu brauchen scheinen.

Ich habe genau das gleiche Problem (aber mit Picocom) und ich habe tagelang ab und weiter gegoogelt, um die Standardreparatur zu finden, aber niemand scheint eines zu haben. Es gibt eine Reihe von seriellen Geräten, die nur ausgeben \n und kann einfach nicht zur Ausgabe gemacht werden \r\n Und ich weigere mich zu glauben, dass sie alle nur zwei Linux -Nutzern angehören. Was gibt!?

Wenn Sie die verwenden miniterm.py Programm, das mit pyserialem Umfang verbunden ist, wird Newlines als CRLF interpretieren. Es ist nicht der am besten vorgewiesene Terminalemulator, aber für die Interaktion mit einfachen seriellen Geräten erledigt er die Aufgabe.

Verwendungssyntax (unter OSX):

miniterm.py /dev/tty.usbserial-XXXXXX 115200

Ersetzen Sie XXXXXX durch alles, was das Gerät auf Ihrem System aufgibt.

In meinem Fall funktionierte: stty -F /dev/ttyACM0 -icrnl

Weil die Serie implizit so eingestellt war, dass CR in NL übersetzt wurde. Dieser Befehl hat es zurückgesetzt. Beachten Sie den minus -Charakter vor dem Vorgehen icrnl.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top