나는 직렬 장치를 가지고 있습니다(Omega RDXL4SD 열전대 판독기, 통신 세부 사항 22페이지)여기) FTDI 케이블을 통해 Raspbian을 실행하는 Raspberry Pi의 USB 포트에 연결합니다. /dev/ttyUSB0에 나타나며 호출하여 표시하면
pi@raspberrypi:~ $ screen /dev/ttyUSB0 9600
출력은 여러 숫자입니다. 한 줄을 뱉어낼 때마다 커서는 줄의 시작 부분으로 돌아가서 덮어쓰므로 화면에는 한 번에 한 줄의 숫자만 표시됩니다.
cat
이제 동일한 효과를 얻기 위해 를 사용하고 싶지만 screen
이 작업을 수행하면 물음표가 있는 상자가 나타납니다.
pi@raspberrypi:~ $ cat /dev/ttyUSB0
4401010000
나는 이것이 일종의 인코딩 문제라고 생각합니다. screen
VS에서 이러한 문자가 어떻게 다르게 해석될 수 있는지 설명 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은 이러한 문자를 상자로 표시하지만 화면에는 전혀 표시되지 않습니다.