"속도"- cfsetospeed
및 cfsetispeed
을 설정하는 두 가지 명령이 있습니다.TTY "입력 속도"가 "출력 속도"와 다른 점은 무엇입니까?
그러나 왜 단 하나의 "속도"가 stty
으로 표시됩니까?
bits/termios.h
에 따르면, c_ispeed
및 c_ospeed
은 "입력 속도"및 "출력 속도"입니다.
을 "입력 속도"로 설정하고 "B57600"을 "출력 속도"로 설정하려고 시도했으며 그 반대의 경우도 직렬 채널의 끝에서 시도했습니다. 그러나 데이터가 손상되었습니다. 을 따로 설정할 수 없다면 왜 두 가지 속도가 다른가요?
stty
은 cfsetospeed
또는 cfsetispeed
으로 설정된 속도를 나타냅니다.
게다가 B0
설정은 cfsetospeed
과 함께 적용됩니다. 그것은 어딘가에 문서화되어 있습니까? 또한 B0
이 설정되어 있지만 이 설정되기 전에 어떤 속도로든 이 활성화되어 데이터를 수신하고 전송할 수 있습니다. 그것은 어딘가에 문서화되어 있습니까? 정의되지 않은 동작입니까 아니면 POSIX에 있습니까?
는 편집 :
나는 일반 시리얼 포트 (즉, 아니 USB)에서 동일한 테스트를 실시하고 USB 직렬 포트는 아래의 호기심 차이를 얻을 : 우리가 설정 한 경우 일반 시리얼 포트가 9600 "속도"를 사용을 B0
이고, usb 직렬 포트는 B0
이 설정되기 전에 선택한 속도를 사용합니다.
(OS : 리눅스)가 별도로 설정하는 것은 불가능 경우