직렬 회선에 대해 다음 구성을 찾고 있습니다.
9600 Baud
Word Length: 8BIT
Parity: Mark
XON/XOFF On
지금까지 Google에서 검색한 결과 "패리티 표시" 부분에 대한 세부정보를 찾을 수 없는 것 같습니다. 하드웨어 터미널을 할당하기 위해 가상 머신을 얻으려고 합니다. 먼저 슈퍼 용어를 사용하여 터미널을 설정한 다음 가상 머신을 시작하면 제대로 작동하지만 그렇지 않으면 그렇지 않습니다. 내 목표는 슈퍼 용어를 사용하지 않고 가상 머신에서 실제 하드웨어로 이동하는 것입니다.
감사해요.
답변1
agetty
프로그램 소스 코드이 작품관련된자동 전송:
/* Optionally detect the baud rate from the modem status message. */
debug("before autobaud\n");
if (serial_tty_option(&options, F_PARSE))
auto_baud(&termios);
옵션 F_PARSE
은 다음과 같습니다여기에서 설정하세요:
case 'm':
op->flags |= F_PARSE;
break;
-m
( --extract-baud
) 기능 에 해당합니다 agetty
.수동).
맨페이지 주석
로드가 많은 시스템에서는 이
-m
기능이 실패할 수 있으므로 명령줄에서 예상되는 모든 전송 속도를 열거하여 BREAK 처리를 활성화해야 합니다.
즉, -m 9600
자동 전송 또는 9600 전송 기능을 얻으려면 getty 라인에 " "를 추가해야 합니다.
이에 대한 세부 사항 mark parity
(동의함)은 찾기가 더 어렵습니다. Linux 및 MARK/SPACE 패리티토마스 로크매터는 이렇게 말했습니다.
- 8M1(8 데이터 비트, MARK 패리티, 1 정지 비트)은 8N2로 시뮬레이션 가능
- 8S1(8 데이터 비트, SPACE 패리티, 1 정지 비트)은 두 가지 방법으로 시뮬레이션할 수 있습니다(솔루션 개요를 계속 설명).
마지막으로 (설명서로 돌아가서 agetty
) XON/XOFF에 대해:
-h
,--flow-control
하드웨어(RTS/CTS) 흐름 제어를 활성화합니다. 적절한 경우 소프트웨어(XON/XOFF) 스트리밍 프로토콜을 비활성화하는 것은 애플리케이션에 달려 있습니다.
명확히 하기 위해 agetty
개발자는 터미널 I/O에서 XON/XOFF를 설정하려고 합니다(참조:stty
) 를 통해 연결이 아닌 연결이 설정된 후입니다 getty
.