Eu tenho um dispositivo serial (Leitor de termopar Omega RDXL4SD, detalhes de comunicação p aqui ) conectados a uma porta USB no meu Raspberry Pi rodando o Raspbian através de um cabo FTDI. Aparece em / dev / ttyUSB0 e a saída parece perfeita se eu a exibir chamando
pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600
A saída é alguns números. Cada vez que ele traça uma linha, o cursor retorna ao início da linha e sobregrava, para que haja sempre apenas uma linha de números na tela por vez.
Agora, desejo usar cat
, não screen
para obter o mesmo efeito, mas quando obtenho caixas com pontos de interrogação neles:
pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000
Eu presumo que isso seja algum tipo de problema de codificação. Você pode explicar o que pode ser diferente sobre como esses caracteres estão sendo interpretados em screen
versus cat
ou sugerir outras etapas de solução de problemas?
Caso isso ajude:
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l
GNU/Linux
pi@raspberrypi:~ $ stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
min = 100; time = 2;
-icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo
Edit: @meuh sugeriu adicionar -vet para exibir caracteres especiais. Agora que conheço essas bandeiras, meu problema específico está efetivamente resolvido! Eu ainda não me importaria de explicar exatamente o que está acontecendo aqui.
pi@raspberrypi:~ $ cat -vet /dev/ttyUSB0
^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000^X^X^X^X^M^B4301010000^X^X^X^X^M^B4401010000^X^X^X^X^M^B41010100000245^M^B4201010000