Caractere de nova linha incorreto na porta serial (CR em vez de LF)

4

Estou tentando falar com um dispositivo usando um conversor usb-serial no linux. Drivers estão funcionando, o dispositivo existe em / dev / ttyUSB0.

Há um problema estranho (verificado com um cabo de modem nulo para outro computador): Qualquer que seja o programa que eu use para conectar ao dispositivo (massa, minicom, tela), todos eles enviam um CR (\ r) ao entrar. Eu (e meu dispositivo) esperamos um LF (\ n) ao entrar.

Quando eu uso o console para enviar um comando - ele envia um LF:

# echo Hello World > /dev/ttyUSB0

Resultados em "Hello World \ n". Eu também escrevi o clássico programa de hello world (printf ("Hello, world! \ N");) e redirecionei a saída para / dev / ttyUSB0 - também me deu um "Hello world \ n" do outro lado da linha .

Mas todos os outros programas de terminal enviam um \ r ao entrar.

O que está acontecendo aqui?

    
por ChristophK 08.02.2014 / 14:21

1 resposta

0

Por favor, verifique se você definiu a porta ttyUSBx no modo raw. Caso contrário, pode haver algumas substituições de caracteres, por ex. \ n com \ n e vice-versa no lado do receptor.

    
por 26.06.2014 / 19:20