
Eu tenho um dispositivo serial em execução do qual preciso ler dados (não tenho absolutamente nenhum controle sobre o dispositivo em si), exceto ler sua saída; usando o hiperterminal no Windows, consigo detectar um tráfego significativo e ontem, quando usei cat (ou meu próprio pequeno programa C para ler os dados e imprimi-los em stdout), funcionou bem.
Hoje, quando uso cat/my program, tudo o que obtenho são dados corrompidos, mas o hiperterminal ainda mostra os dados.
O que poderia estar errado? como poderia ter funcionado ontem e não hoje?
O arquivo que estou/estava lendo é/dev/ttyUSB1
* Observe que nunca executo AMBOS meu programa e meu gato, apenas um deles por vez.
Responder1
Alguém no SO sugeriu a direção certa; o problema estava na taxa de transmissão, ela estava definida com um valor diferente do que eu preciso.
Para verificar a taxa de transmissão:
stty -F /dev/ttyUSB1
Para definir a taxa de transmissão:
stty -F /dev/ttyUSB1 57600
(57600 no meu caso é a taxa de transmissão que meu dispositivo precisa)
Está funcionando perfeitamente agora.
Responder2
As portas seriais são feras especialmente estranhas. Você vai querer usar um programa de emulação de terminal Old School. Eu costumava pensar tip
que era o melhor, mas ninguém parece mais ter a fonte disso. cu
vem com UUCP e é um incômodo completo para instalar e configurar, nem se preocupe.
Uma rápida pesquisa no Google me diz que as pessoas tendem a usarminicomnos dias de hoje.Aqui está uma pergunta sobre Stack Overflowparece que tem alguma influência, pelo menos no uso minicom
para conversar com um dispositivo serial USB.
Deixe-nos saber como isso aconteceu. Atualize sua pergunta ou deixe um comentário ou algo assim.