cat /dev/ttyUSB0
USB 직렬 어댑터를 통해 발생하는 직렬 통신을 모니터링하는 데 이와 유사한 것을 사용하고 싶습니다 .
TX 라인을 사용하여 Linux에서 직렬 장치로 직렬 명령을 성공적으로 보낼 수 있지만 echo "blahblah" | sudo tee /dev/ttyUSB0
직렬 장치에서 반환된 출력을 보고 싶습니다. 예상되는 응답은 일반적으로 에코 메시지이지만 때로는 더 긴 메시지일 수도 있습니다.
cat /dev/ttyUSB0
별도의 터미널 창에서 열면 를 실행할 때까지 모든 것이 조용합니다 echo "blahblah" | sudo tee /dev/ttyUSB0
. 그 시점에서 forever
cat을 실행하는 터미널 창에서 "blahblah"('\r\n' 비트로 종료)가 반복됩니다. RX 케이블을 뽑으면 중지되고, 다시 연결해도 다시 시작되지 않습니다.
나는 직렬 장치의 RX 출력에 연결된 직렬 로직 분석기를 사용했기 때문에 이 중복이 인공물이라고 확신합니다.하나의무한 에코 시퀀스 대신 에코 명령.
echo "blahblah" > /dev/ttyUSB0
참고로 초기 직렬 데이터 전송을 사용하여 동일한 동작을 얻었습니다.
답변1
나는 이것이 백만년이라는 것을 알고 있지만 오늘 이 문제에 직면했습니다. 기본적으로 "스크린"을 사용하여 직렬 장치에 연결한 다음 분리하면 장치에 다시 에코하여 cat
라인 스팸 없이 출력을 다시 가져올 수 있습니다. 화면이 설정을 tty에 전달하고 있지만 프로그래밍 방식으로 이를 수행할 수 있는 방법이 필요합니다. "meuh"를 외쳐보세요. 올바른 방향을 알려주었으니까요. 내 경우에는 "stty"를 사용하여 미리 다음 명령을 실행했습니다.
stty -echo -opost -F /dev/ttyUSB0
' -echo
' 스팸 스팸 개행을 중지하고 ' -opost
' 제 경우에는 필요하지 않은 단일 개행을 중지합니다. 그런 다음 터미널 창에서 다음 명령을 실행하여 테스트를 진행할 수 있습니다.
# cat /dev/ttyUSB0
그런 다음 다른 터미널 창에서 다음 명령을 실행합니다.
# echo "This is a test - $(date)" > /dev/ttyUSB0
첫 번째 터미널 창에서 예상되는 출력을 받았습니다.
# cat /dev/ttyUSB0
This is a test - Mon 21 Feb 2022 11:27:40 AEDT
도움이 되었기를 바랍니다!