직렬 장치 출력이 GNU 화면에서는 괜찮아 보이지만 cat을 사용하면 깨집니다.

직렬 장치 출력이 GNU 화면에서는 괜찮아 보이지만 cat을 사용하면 깨집니다.

나는 직렬 장치를 가지고 있습니다(Omega RDXL4SD 열전대 판독기, 통신 세부 사항 22페이지)여기) FTDI 케이블을 통해 Raspbian을 실행하는 Raspberry Pi의 USB 포트에 연결합니다. /dev/ttyUSB0에 나타나며 호출하여 표시하면

pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600

출력은 여러 숫자입니다. 한 줄을 뱉어낼 때마다 커서는 줄의 시작 부분으로 돌아가서 덮어쓰므로 화면에는 한 번에 한 줄의 숫자만 표시됩니다.

cat이제 동일한 효과를 얻기 위해 를 사용하고 싶지만 screen이 작업을 수행하면 물음표가 있는 상자가 나타납니다.

pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000

나는 이것이 일종의 인코딩 문제라고 생각합니다. screenVS에서 이러한 문자가 어떻게 다르게 해석될 수 있는지 설명 cat하거나 다른 문제 해결 단계를 제안할 수 있습니까?

도움이 된다면:

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

편집: @meuh는 특수 문자를 표시하기 위해 -vet를 추가할 것을 제안했습니다. 이제 징후를 이해했으므로 특정 문제가 효과적으로 해결되었습니다! 그래도 여기서 무슨 일이 일어나고 있는지 설명하는 것은 마음에 들지 않습니다.

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

답변1

결과 ^X 문자(즉, 0x18 바이트)는 이 프로토콜에서 문서화되지 않은 NaN입니다. 여러 개의 열전대 포트가 있으며, 하나의 열전대만 연결하면 온도 값이 포함된 선과 ^X로 끝나는 여러 선이 표시됩니다.

어떤 이유에서인지 내 터미널의 cat은 이러한 문자를 상자로 표시하지만 화면에는 전혀 표시되지 않습니다.

관련 정보