직렬 포트에서 데이터 읽기

직렬 포트에서 데이터 읽기

참고로 저는 busybox를 운영 중입니다. 다음을 사용하여 ttyS1에 데이터를 보낼 수 있습니다.

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo
echo -en 'data here' > /dev/ttyS1

하지만 읽으려고 할 때 다음과 같이 합니다.

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo
cat /dev/ttyS1

하지만 아무런 메시지도 없이 프로그램이 종료됩니다. 저도 시도해봤는데 cat < /dev/ttyS1안되더군요.

데이터가 들어오고 있음을 나타내는 LED 표시등이 있기 때문에 데이터가 이 포트로 전송되고 있다고 확신합니다. 연결 설정은 115200 전송 속도, 8비트, 짝수 패리티, 1스톱비트와 동일하게 설정됩니다.

답변1

그래서 다른 포럼에서 답을 찾았습니다. 나는 그것을 여기에 넣고 기본적으로 포트를 계속 읽기 위해 시간 초과와 while 루프를 추가했습니다.

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo time 3 min 0
while [ true ]; do
   cat /dev/ttyS1
done

그게 다야.

관련 정보