Linux에서 stty의 전체 이름은 "set tty"라는 뜻으로 터미널(terminal) 관련 설정을 표시하고 수정하는 데 사용되는 명령이며 구문은 "stty [옵션] [설정]입니다. ", stty 명령은 매개변수로 터미널 라인 설정을 인쇄할 수 없으며, "-a" 옵션을 사용하여 더 자세히 인쇄할 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
몇 가지 직관적인 느낌에 대해 먼저 이야기해 보겠습니다. 먼저 키보드(보통 표준입력단말기)를 사용할 때 엔터키가 입력될 때까지 문자를 입력한다. Enter 키는 13입니다. 프로그램에서 줄 바꿈이 반영되면 프로그램이 "반응"하여 사람들에게 Enter 키를 누른 후에 입력한 데이터만 허용한다는 인상을 줍니다. 프로그램 쓰기 printf("This is a Demon"); 다음 출력은 다음 줄의 가장 왼쪽 지점에서 시작되지만 캐리지 리턴 및 줄 바꿈 기능은 다음과 같습니다.
r
는 리턴, 캐리지 리턴을 의미하며 이는 커서가 현재 줄의 선두로 돌아간다는 것을 의미합니다.
n
은 개행, 줄바꿈을 의미합니다. 즉, 커서가 현재 줄의 다음 줄로 이동합니다. 위치. r
为 return,回车,即使光标回到当前行的头;
n
1. 기능
자신에게 맞는 터미널 드라이버 함수를 작성하기 위해서는 터미널 드라이버에서 설정을 수정해야 합니다. Linux에는 stty(set tty, set tty)라는 명령이 있습니다. stty: 터미널 명령줄 관련 설정을 표시하고 수정하는 데 사용됩니다(터미널 줄 설정 변경 및 인쇄).2. 구문
stty [选项] [设置] stty [选项]
공통 옵션
eof: 입력 끝, 파일 끝, 기본값은 Ctrl+D. 예를 들어, cat >file을 사용하여 파일을 생성하는 경우 Ctrl+D를 눌러 입력을 종료합니다. erase: 문자를 뒤로 삭제하고 마지막 입력 문자를 지웁니다. 기본값은 Ctrl+?입니다. 백스페이스 키는 기본적으로 문자를 삭제하지 않습니다. intr: 현재 프로그램을 중단합니다. 기본값은 Ctrl+C입니다. kill: 전체 명령 삭제, 전체 줄 삭제, 기본값은 Ctrl+U입니다. quit: 현재 프로그램을 종료합니다. 기본값은 Ctrl+ 또는 Ctrl+|입니다. start: 화면 출력을 시작합니다. 기본값은 Ctrl+Q입니다. stop: 화면 출력을 중지합니다. 기본값은 Ctrl+S입니다. susp: 터미널은 현재 프로그램을 중지합니다. 기본값은 Ctrl+Z입니다. 이런 방식으로 현재 프로세스는 백그라운드 프로세스가 됩니다. werase: 마지막 단어를 삭제합니다. 기본값은 Ctrl+W입니다.stty 명령에는 다음과 같은 다른 용도가 있습니다. stty -echo 에코를 끈 다음(예: 스크립트에 비밀번호를 입력하는 데 사용되는 경우) stty echo를 사용하여 에코를 켭니다.
#在命令行下,禁止输出大写的方法: stty iuclc #开启 stty -iuclc #恢复 #在命令行下禁止输出小写: stty olcuc #开启 stty -olcuc #恢复 #打印出终端的行数和列数: stty size #改变Ctrl+D的方法: stty eof "string" #系统默认是Ctrl+D来表示文件的结束,而通过这种方法,可以改变! #屏蔽显示: stty -echo #禁止回显 stty echo #打开回显 #测试方法: stty -echo;read;stty echo;read #忽略回车符: stty igncr #开启 stty -igncr #恢复
3、使用示例
下面以xilinx的串口终端为例说明stty命令的使用方法。
在vivad0配置了两个串口分别是UART0和UART1,petalinx中设置UART1为调试串口,UART0和UART1分别对应分别对应/dev/ttyPS1和/dev/ttyPS0,可以用who命令看一下当前终端使用的是哪个串口:
可以看到当前终端使用的是ttyPS0
用 dmesg | grep ttyPS*可以查看当前终端对应哪个串口
可以看到ttyPS0对应串口的物理地址是0xff010000,从设备树中根据这个物理地址可以查到是哪个串口
1)查看当前终端信息:
stty -a
这个打印了当前终端的信息,一些参数解释如下:
speed 115200 baud:波特率是115200
cs8:数据是8位
ixon:流控打开,如果是-ixon则表示流控关闭
clocal:使能DTR/DTS
-parodd:失能奇校验
-parenb:失能奇偶校验
2)设置波特率115200,数据位8位:
stty -F /dev/ttyPS1 115200 cs8
3)通过UART1发送数据:
echo "qwert" > /dev/ttyPS1
4)查看UART1接受的数据
cat /dev/ttyPS1
通过串口工具向UART1发送数据,即可看到接受到的信息
相关推荐:《Linux视频教程》
위 내용은 리눅스 stty는 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!