via serial open how application linux serial-port gnu-screen tty

open - shell serial port linux



Cómo alternar CR/LF en la pantalla GNU? (4)

En mi caso funcionó: stty -F /dev/ttyACM0 -icrnl

Debido a que el serial fue implícitamente configurado para traducir CR a NL. Este comando lo regresó. Observe el carácter menos anterior a icrnl .

Estoy usando la pantalla para leer el texto de una consola serial. El problema es que el resultado parece tener solo nueva línea / n pero no retorno de carro / r, por lo que la pantalla se ve así ...

Line1 Line2 Line3

Me pregunto si hay algún parche para solucionar este problema.


Prueba stty onlcr .

La página man dice que traducirá líneas nuevas a pares de retorno de carro / línea nueva en la salida, que parece ser lo que necesita.


Si usa el programa miniterm.py que viene con pyserial, interpretará las nuevas líneas como crlf. No es el emulador de terminal más completo, pero para interactuar con dispositivos seriales simples realiza el trabajo.

Sintaxis de uso (en OSX):

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

Reemplace XXXXXX con cualquier dispositivo que aparezca en su sistema como.


onlcr es para traducir las nuevas palabras a las declaraciones de correo electrónico.

stty -F /dev/ttyS0 inlcr trasladará las nuevas líneas entrantes a retornos de carro. Puede ejecutarlo desde otro terminal después de iniciar la pantalla para evitar cualquier reinicio que la pantalla pueda hacer al inicio. Lamentablemente, sin embargo, esto solo cambiará el problema. A continuación, obtendrá solo devoluciones y no nuevas líneas.

Lo que se necesita es una opción para anexar un retorno a una nueva línea entrante para que el terminal reciba /n/r , que es lo que el dispositivo en serie debería tener en primer lugar. Parece que hay una opción onlret para hacer esto para los datos salientes, pero no hay inlret opción inlret como parece necesitar en este caso.

Tengo exactamente el mismo problema (usando picocom sin embargo) y estuve buscando en Google de vez en cuando durante días tratando de encontrar la solución estándar, pero nadie parece tener una. Hay una serie de dispositivos en serie que solo salen /n y simplemente no pueden ejecutarse /r/n me niego a creer que todos ellos pertenezcan solo a dos usuarios de Linux. ¿¡Lo que da!?