stty 命令说明及使用讲解

STTY简单设置uart,并进行收发 stty 命令本身主要用于配置终端的输入输出行为,而对于串口通信的配置和使用,stty 可以设置串口设备的波特率、字符大小、停止位等。它不能直接控制串口的发送和接收过程,但可以配置串口的工作模式,进而影响数据的发送和接收。在 Linux 系统中,串口设备通常被表示为 /dev/ttyS0、/dev/ttyUSB0、/dev/ttyACM0 等。假设你要配置串口 /dev/ttyS0,波特率设置为 9600,数据位设置为 8 位,停止位设置为 1 位,且无校验位。cs8 设置字符大小为 8 位。 阅读详情
stty 命令说明及使用讲解
 
 
UNIX系统的命令很多,但是巧妙使用命令的方法更多。随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法。这里谈谈自己使用UNIX系统中stty命令的一些体会,希望能与你共享。
1.stty(settty,设置tty)命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。
可以在stty命令中使用-a查看当前注册终端的设置情况。
$ stty -a
Speed 9600 baud; line =0;intr= DEL;quit = ^;erase = ^h;kill =^U;eof = ^d;start=^q;stop=^s
-parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl-iuclc
ixon ixany -ixoff
isig icanon -xcase echo echoe echok -echonl -noflsh
opost -olcuc onlcr -ocrnl -onocr onlret ofill ofdel tab3
需要时,这里显示的各种选择都可以重新配置。每种终端选项都有自己的名字(如ixon),其中大多数要么被设置要么被清除。在stty中相应选项前冠以负号(-),该选项被清除(禁止);如果无负号,该选项被设置。
当希望修改各选择的值时,应在stty命令中正确书写相应选项。如命令
$ stty -ixon
将流控制设置为OFF,而命令
$ stty ixon
则将其置为ON。在stty命令中可以同时设置多个选项:
$ stty ixon 1200
该命令将终端设置为1200波特,并将流控制置为ON。
当选项的列表较长时,应当小心所做的修改造成会话的混乱。典型的情况下,终端在设置不正确时完全不能工作。经常出现的现象是列输出显示或用户的击键不能被shell正确接受。有时NEWLINE可能只显示或走一行但不回行,即用户输入的NEWLINE符不能被shell正确读取。建立新注册标识的过程通常建立了正确的stty选项,在日常使用中很少需要修改。但如果变量TERM的设置不正确或用户希望使用新的终端或通信渠道(如局域网),则需要修改stty的选项。如果你在某个机器中注册后终端操作正常,但后来因故发生了混乱,那么最佳的解决方法是先注销然后再向系统注册。因为注册时系统会重新设置相应选项。还有一种不太严格的解决办法是:
$ stty sane
命令sane最常出现在大多数终端的stty选项的集合中。它并不改变通信信道的速率,但当终端发生混乱时,通常能够产生有益的效果。命令sane可能使全屏幕应用程序(如vi)不能正确工作,而且在设置了选项sane之后,如果不能解决任何问题,就应立即注销,然后再注册。如果终端在注册后依然不能正确工作,用户的注册可能是不成功的。如果终端已经混乱,NEWLINE键不能结束命令行,可以用CTRL-J代替NEWLINE直到用户执行sttysane。此时,再用CTRL-J终止stty sane,使系统恢复正常。
stty命令的几项主要选项功能为:
选项parenb使终端进行奇偶校验,-parenb则是禁止校验;
选项cs5、cs6、cs7和cs8分别将字符大小设为5、6、7和8比特;
选项300、600、1200、2400、4800、9600和19200设置波特率;
cstopb和-cstopb分别设置两个或一个停止位;
tabs使系统使用制表符而不是空格序列,因此减少了输出量,选项-tabs仅使用空格,当终端不能正确处理制表符(tab)时应使用该项。
2.stty还可用于控制一些具有特殊控制功能的键。系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用CTRL-C。因此可以使用stty命令改变之:
$ stty eof c
其中c可以是你喜欢的其它特殊控制字符。
可以直接输入控制字符,在其前面冠以反斜线和脱字符( ^)。命令
$ stty eof ^c
将CTRL-C设置为文件结束符。这种语法形式还可以用于修改删除符(通常为退格键BackSpace)和中断符(通常为DEL键)。若希望将删除符改为BACKSPACE,可以使用下列命令:
$ stty erase ^h
可以设置一个会话期,使得当自己键入一个退格键时,系统用退格、删除和退格序列响应。此时可以看到用退格键覆盖的字符从显示中消失了,这样更符合计算机的惯例。使用命令
$ stty echoe
可使这一特性设置为ON。
终端方式及其管理是UNIX系统中比较困难的内容之一,系统的用户手册中有stty选项的全部清单。在进行尝试之前,应当查阅手册,仔细分析,以免给你的工作带来麻烦。
 
 
stty - 改变并打印终端行设置
    总览
  stty [-F device] [--file=device] [SETTING]...
  stty [-F device] [--file=device] [-a|--all]
  stty [-F device] [--file=device] [-g|--save]
  描述
  quot; Add any additional description here
  打印或改变终端属性.
  -a, --all
  以可读的格式打印当前的所有设置
  -g, --save
  以终端可读的格式打印当前的所有设置
  -F, --file
  打开指定的设备,并用此设备作为输入来代替标准输入
  --help
  显示帮助并退出
  --version
  显示版本信息并退出
  选项-在SETTING之前使用这些选项将被视为无效 星号*表明是非POSIX设置.以下是一些系统定义了的     
    可用设置:
  特殊字符
  * dsusp CHAR CHAR表示输入满时,发一个停止信号给终端
  eof CHAR
  CHAR表示一个文件结束 (结束输入)
  eol CHAR
  CHAR表示当前行结束
  * eol2 CHAR CHAR是另一个表示结束当前行的字符
  erase CHAR
  CHAR表示擦除最后一个输入字符
  intr CHAR
  CHAR表示发一个中断信号
  kill CHAR
  CHAR表示擦除当前行
  * lnext CHAR CHAR表示输入下一个字符
  quit CHAR
  CHAR表示发出一个退出信号
  * rprnt CHAR CHAR表示刷新当前行
  start CHAR
  CHAR表示在停止输出后重新开始输出
  stop CHAR
  CHAR表示停止输出
  susp CHAR
  CHAR表示发送一个终端停止信号
  * swtch CHAR CHAR表示切换到不同的外壳层
  * werase CHAR CHAR表示擦除已经输入的最后一个单词
  特殊设置
  N
  把输入和输出的波特率设为N
  * cols N 通知内核终端有N列
  * columns N 与cols N 相同
  ispeed N
  设置输入速度为N
  * line N 用行约束规则N
  min N
  用 -icanon, 设置一次完整的读操作最小为N个字符
  ospeed N
  设置输出速度为N
  * rows N 通知内核终端有N行
  * size 根据内核打印出终端的行数和列数
  speed
  打印出终端的速度
  time N
  同时用 -icanon, 设置读超时为十分之N秒
  控制设置
  [-]clocal
  关闭解调器的控制信号
  [-]cread
  允许接收输入

  * [-]crtscts 允许 RTS/CTS 的握手
  csN
  把字符长度设为N, N 为[5..8]
  [-]cstopb
  对每字符使用两个停止位 (一个带有 `-')
  [-]hup
  当最后一个进程关闭终端后,发一个挂起信号
  [-]hupcl
  同 [-]hup
  [-]parenb
  在输出中产生奇偶校验位,并要求在输入中也有奇偶校验位
  [-]parodd
  设置奇校验 (偶校验用 `-')
  输入设置:
  [-]brkint
  暂停并产生中断信号
  [-]icrnl
  将回车解释为换行
  [-]ignbrk
  忽略中断信号
  [-]igncr
  忽略回车符
  [-]ignpar
  忽略有奇偶校验错的字符
  * [-]imaxbel 对一个字符产生嘟叫,但不刷新已满的输入缓冲区
  [-]inlcr
  将换行解释为回车
  [-]inpck
  打开输入奇偶校验
  [-]istrip
  清除输入字符的高位(第8位)
  * [-]iuclc 将大写字符转换成小写字符
  * [-]ixany 使任何字符都重新开始输出(而 不仅仅是重新输出字符能实现此功能)
  [-]ixoff
  打开发送开始/停止字符的开关
  [-]ixon
  打开XON/XOFF的流量控制
  [-]parmrk
  标记奇偶校验错误 (使用255-0-character 字符序列)
  [-]tandem
  同 [-]ixoff
  输出设置:
  * bsN 回退延迟, N 为 [0..1]
  * crN 回车延迟, N 为 [0..3]
  * ffN 换页延迟, N 为 [0..1]
  * nlN 换行延迟, N 为 [0..1]
  * [-]ocrnl 将回车解释为换行
  * [-]ofdel 使用删除字符来填充,而不是用空字符填充
  * [-]ofill 使用填充字符,不使用定时延迟
  * [-]olcuc 将小写字符转换成大写
  * [-]onlcr 将换行解释为回车-换行
  * [-]onlret 换行执行一次回车
  * [-]onocr 不在第一列打印回车
  [-]opost
  postprocess 输出
  * tabN 水平tab键延迟, N 为 [0..3]
  * tabs 同tab0
  * -tabs 同tab3
  * vtN 垂直方向tab键延迟。。。, N 为 [0..1]
  本地设置:
  [-]crterase
  将擦除字符显示为:退格-空格-退格
  * crtkill 根据echoprt和echoe的设置去除所有行
  * -crtkill 根据echoctl和echok设置去除所有行
  * [-]ctlecho 在头部符号中显示控制字符'^c')
  [-]echo
  显示输入字符
  * [-]echoctl 同 [-]ctlecho
  [-]echoe
  同[-]crterase
  [-]echok
  在一个杀死字符后显示一个换行
  * [-]echoke 同 [-]crtkill
  [-]echonl
  即使不显示其它字符也换行
  * [-]echoprt 向后显示在 '' 和 '/'之间的擦除字符
  [-]icanon
  打开 erase, kill, werase, 和 rprnt 这些特殊字符
  [-]iexten
  打开 非POSIX 特殊字符
  [-]isig
  打开中断,退出和挂起这些特殊字符
  [-]noflsh
  在中断和退出这些特殊字符后禁止刷新
  * [-]prterase 同 [-]echoprt
  * [-]tostop 停止试图写终端的后台作业
  * [-]xcase 与icanon同时使用, 表示用`'退出大写状态
  综合设置:
  * [-]LCASE 同 [-]lcase
  cbreak
  同 -icanon
  -cbreak
  同 icanon
  cooked
  同 brkint ignpar istrip icrnl ixon opost isig icanon, eof 和 eol字符被设为默认值
  -cooked
  同 raw
  crt
  同 echoe echoctl echoke
  dec
  同 echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u
  * [-]decctlq 同 [-]ixany
  ek
  将擦除,杀死字符设为它们的默认值
  evenp
  同 parenb -parodd cs7
  -evenp
  同 -parenb cs8
  * [-]lcase 同 xcase iuclc olcuc
  litout
  同 fB-parenb -istrip -opost cs8
  -litout
  同 parenb istrip opost cs7
  nl
  同 -icrnl -onlcr
  -nl
  同 icrnl -inlcr -igncr onlcr -ocrnl -onlret
  oddp
  同 parenb parodd cs7
  -oddp
  同 -parenb cs8
  [-]parity
  同 [-]evenp
  pass8
  同 -parenb -istrip cs8
  -pass8
  同 parenb istrip cs7
  raw
  同 -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr-icrnl -ixon -ixoff -iuc lc -ixany -imaxbel -opost -isig -icanon-xcase min 1 ti me 0
  -raw
  同 cooked
  sane
  同 cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixanyimaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0cr0 tab0 bs0 vt0 ff 0 isig icanon iexten echo echoe echok -echonl-noflsh -xcase -tostop -echoprt echoctl echoke, 所有特殊字符 使用缺省值.
  本命令处理连接到标准输入的终端行.如不带参数,则输出波特率, 行的约束规则,以及与健全 的stty相背离的设置.在设置中,CHAR 是逐字读取的, 或是象 ^c, 0x37, 0177 或127这样的 编码; 特殊值 ^-或未定义被用来禁止特殊字符.
====

http://blog.chinaunix.net/u/19203/showart_1913815.html


-------------------------------------------------------------------------------------------------------------------------

命令参考大全

stty 命令

用途

设置、复位和报告工作站操作参数。

语法

stty [ -a ] [ -g ][ Options ]

描述

stty 命令对当前为标准输入的设备设置某些 I/O 选项。该命令将输出写到当前为标准输出的设备中。

这个操作系统的版本使用标准 《X/Open 可移植性指南,发行版 4》 接口来控制终端,保持与 POSIX 和 BSD 接口的兼容性。stty 命令支持 POSIX 和 BSD 的适应选项,但强烈推荐使用 POSIX 选项。同样提供废弃的 BSD 选项列表(带有对应的 POSIX 选项)。

输入以下命令时,可以将 tty 设备的标准输入重定向:

 stty -a </dev/ttyx

stty 命令(POSIX)将挂起并等待该 tty 的 open(),直到确定 RS-232 载波检测信号。如果设置了 clocal 或 forcedcd(仅对 128 端口)选项,这个规则将不适用。

标志

-a将所有选项设置的当前状态写到标准输出中。
-g将选项设置写到标准输出中,其格式可以由另一个 stty 命令使用。

选项

stty 命令支持以下选项类别:

控制模式 
clocal假定一行没有调制解调器控制。
-clocal假定一行带有调制解调器控制。
cread启用接收器。
-cread禁用接收器。
cstopb每个字符选择两个停止位。
-cstopb每个字符选择一个停止位。
cs5, cs6, cs7, cs8选择字符大小。
hup,hupcl最后关闭时挂起拨号连接。
-hup,-hupcl最后关闭时不挂起拨号连接。
parenb启用奇偶性校验的生成和检测。
-parenb禁用奇偶性校验的生成和检测。
parodd选择奇校验。
-parodd选择偶校验。
0立即挂起电话线路。
speed将工作站输入和输出速度设置为指定的 speed 数(以位/秒为单位)。并不是所有的硬件接口都支持所有的速度。speed 的可能值有:50、75、110、134、200、300、600、1200、1800、2400、4800、9600、19200、19.2、38400、38.4、exta 和  extb。
注:
exta、 19200 和 19.2 是同义词; extb、 38400 和 38.4 是同义词。
ispeed speed将工作站输入速度设置为指定的 speed 数(以位/秒为单位)。并不是所有的硬件接口都支持所有的速度,而且并不是所有的硬件接口都支持该选项。speed 的可能值与speed 选项相同。
ospeed speed将工作站输出速度设置为指定的 speed 数(以位/秒为单位)。并不是所有的硬件接口都支持所有的速度,而且并不是所有的硬件接口都支持该选项。speed 的可能值与speed 选项相同。
 
输入模式
brkint中断时发出 INTR 信号。
-brkint中断时不发出 INTR 信号。
icrnl输入时将 CR 映射为 NL。
-icrnl输入时不将 CR 映射为 NL。
ignbrk输入时忽略 BREAK。
-ignbrk输入时不忽略 BREAK。
igncr输入时忽略 CR。
-igncr输入时不忽略 CR。
ignpar忽略奇偶错误。
-ignpar不忽略奇偶错误。
inlcr输入时将 NL 映射为 CR。
-inlcr输入时不将 NL 映射为 CR。
inpck启用奇偶校验。
-inpck禁用奇偶校验。
istrip将输入字符剥离到 7 位。
-istrip不将输入字符剥离到 7 位。
iuclc将大写字母字符映射为小写。
-iuclc不将大写字母字符映射为小写。
ixany允许任何字符重新启动输出。
-ixany只允许 START(Ctrl-Q 按键顺序)重新启动输出。
ixoff当输入队列接近空或满时,发送 START/STOP 字符。
-ixoff不发送 START/STOP 字符。
ixon启用 START/STOP 输出控制。一旦启用 START/STOP 输出控制,您可以按下 Ctrl-S 按键顺序暂停向工作站的输出,也可按下 Ctrl-Q 按键顺序恢复输出。
-ixon禁用 START/STOP 输出控制。
imaxbel当输入溢出时,回送 BEL 字符并且废弃最后的输入字符。
-imaxbel当输入溢出时,废弃所有输入。
parmrk标记奇偶错误。
-parmrk不标记奇偶错误。
 
输出方式
bs0, bs1为退格符选择延迟样式(bs0 表示没有延迟)。
cr0, cr1, cr2, cr3为 CR 字符选择延迟样式(cr0 表示没有延迟)。
ff0, ff1为换页选择延迟样式(ff0 表示没有延迟)。
nl0, nl1为 NL 字符选择延迟样式(nl0 表示没有延迟)。
ofill使用延迟填充字符。
-ofill使用延迟定时。
ocrnl将 CR 字符映射为 NL 字符。
-ocrnl不将 CR 字符映射为 NL 字符。
olcuc输出时将小写字母字符映射为大写。
-olcuc输出时不将小写字母字符映射为大写。
onlcr将 NL 字符映射为 CR-NL 字符。
-onlcr不将 NL 字符映射为 CR-NL 字符。
onlret在终端 NL 执行 CR 功能。
-onlret在终端 NL 不执行 CR 功能。
onocr不在零列输出 CR 字符。
-onocr在零列输出 CR 字符。
opost处理输出。
-opost不处理输出;即忽略所有其它输出选项。
ofdel使用 DEL 字符作为填充字符。
-ofdel使用 NUL 字符作为填充字符。
tab0, tab1, tab2为水平制表符选择延迟样式(tab0 表示没有延迟)。
tab3扩展制表符至多个空格。
vt0, vt1为垂直制表符选择延迟样式(vt0 表示没有延迟)。
 
本地模式
echo回送每个输入的字符。
-echo不回送字符。
echoctl以 ^X(Ctrl-X)回送控制字符,X 是将 100 八进制加到控制字符代码中给出的字符。
-echoctl不以 ^X(Ctrl-X)回送控制字符。
echoe以“backspace space backspace”字符串回送 ERASE 字符。
注:
该模式不保持对列位置的跟踪,因此您可能在擦除制表符和转义序列等符号时得到意外的结果。
-echoe不回送 ERASE 字符,只回送退格符。
echok在 KILL 字符后回送 NL 字符。
-echok在 KILL 字符后不回送 NL 字符。
echoke通过擦除输出行上的每个字符,回送 KILL 字符。
-echoke只回送 KILL 字符。
echonl回送 NL 字符。
-echonl不回送 NL 字符。
echoprt以 /(斜杠)和 \ (反斜杠) 向后回送擦除的字符。
-echoprt不以 /(斜杠)和 \ (反斜杠) 向后回送擦除的字符。
icanon启用规范输入(规范输入允许使用 ERASE 和 KILL 字符进行输入行的编辑)。请参阅 AIX 5L Version 5.2 Communications Programming Concepts 中的 Line Discipline Module (ldterm) 中关于canonical mode input 的讨论。
-icanon禁用规范输入。
iexten指定从输入数据中识别实现性定义的功能。要识别以下控制字符,需要设置 iexten:eol2、dsusp、reprint、discard、werase、lnext。与这些模式关联的功能也需要设置iexten:imaxbel、echoke、echoprt、echoctl。
-iexten指定从输入数据中识别实现性定义的功能。
isig启用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。
-isig禁用对特殊控制字符(INTR、SUSP 和 QUIT)的字符检查。
noflsh不清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。
-noflsh清除 INTR、SUSP 或 QUIT 控制字符之后的缓冲区。
pending下次读操作暂挂或输入到达时,要重新输入从原始模式转换为规范模式后被暂挂的输入。暂挂是一个内部状态位。
-pending没有文本暂挂。
tostop为背景输出发出 SIGTOU 信号。
-tostop不为背景输出发出 SIGTOU 信号。
xcase在输入中回送大写字符,并在输出显示的大写字符之前加上 \ (反斜杠)。
-xcase不在输入时回送大写字符。
硬件流量控制模式

这些选项是对 《X/Open 可移植性指南,发行版 4》 标准的扩展。

cdxon输出时启用 CD 硬件流量控制模式。
-cdxon输出时禁用 CD 硬件流量控制模式。
ctsxon输出时启用 CTS 硬件流量控制模式。
-ctsxon输出时禁用 CTS 硬件流量控制模式。
dtrxoff输入时启用 DTR 硬件流量控制模式。
-dtrxoff输入时禁用 DTR 硬件流量控制模式。
rtsxoff输入时启用 RTS 硬件流量控制模式。
-rtsxoff输入时禁用 RTS 硬件流量控制模式。

控制指定

要将一个控制字符指定到某字符串中,请输入:

stty Control String

其中,Control 参数可以是 INTR、QUIT、ERASE、KILL、EOF、EOL、EOL2、START、STOP、SUSP、DSUSP、
REPRINT、DISCARD、WERASE、LNEXT、MIN 或 TIME 参数。(使用字符 MIN 和 TIME 时,请加上 -icanon 选项。)

注:
MIN 和 TIME 的值解释为整数值,而不是字符值。

String 参数可以是任何单一的字符,比如 c。以下内容为控制赋值的示例:

stty STOP c

另一种指定控制字符的方法可以是:输入一个字符序列,它是由一个  \^ (反斜杠,插入记号) 后面跟着一个单一字符组成的。如果跟在 ^ (插入记号)后的单一字符是下表的^c(插入记号 c)栏中列出的字符之一,将设置相应的控制字符值。例如,要使用 ?(问号)字符指定 DEL 控制字符,请输入字符串\^?(反斜杠,插入记号,问号),如下:

stty ERASE \^?
stty 中的插入记号控制字符
^c替换值^c替换值^c替换值
a, A<SOH>l, L<FF>w, W<ETB>
b, B<STX>m, M<CR>x, X<CAN>
c, C<ETX>n, N<SO>y, Y<EM>
d, D<EOT>o, O<SI>z, Z<SUB>
e, E<ENQ>p, P<DLE>[<ESC>
f, F<ACK>q, Q<DC1>\<FS>
g, G<BEL>r, R<DC2>]<GS>
h, H<BS>s, S<DC3>^<RS>
i, I<HT>t, T<DC4>_<US>
j, J<LF>u, U<NAK>?<DEL>
k, K<VT>v, V<SYN>@<NUL>
组合模式 
cooked请参阅 -raw 选项。
ek分别将 ERASE 和 KILL 字符设置为 Ctrl-H 和 Ctrl-U 按键顺序。
evenp启用 parenb 和 cs7。
-evenp禁用 parenb 并设置 cs8。
lcase,LCASE设置 xcase,iuclc 和olcuc。在工作站只以大写字符使用。
-lcase,-LCASE设置 -xcase、-iuclc 和-olcuc。
nl设置 -icrnl 和-onlcr。
-nl设置 icrnl、 onlcr、-inlcr、-igncr、-ocrnl和-onlret。
oddp启用 parenb、 cs7 和 parodd。
-oddp禁用 parenb 并设置 cs8。
parity请参阅 evenp 选项。
-parity请参阅 -evenp 选项。
sane将参数重新设置为合理的值。
raw允许原始模式输入(不包括输入处理,例如 erase、kill 或 interrupt);传回奇偶(校验)位。
-raw允许规范输入方式。
tabs保留制表符。
-tabs,tab3打印时将制表符替换为空格。
窗口大小 
cols n,columns n将终端(窗口)大小记录为有 n 列。
rows n将终端(窗口)大小记录为有 n 行。
size将终端(窗口)大小打印到标准输出(先是行,再是列)中。

废弃选项

stty 命令支持以下 BSD 选项。 对于每个选项,都给出了建议的 POSIX 选项。

all使用 stty -a 命令显示所有当前设置。
crt使用 sane 选项将参数重新设置为合理的值。
crtbs使用 -echoe 选项。
crterase使用 echoe 选项。
-crterase使用 -echoe 选项。
crtkill使用 echoke 选项。
-crtkill使用 echok 和 -echoke 选项。
ctlecho使用 echoctl 选项。
-ctlecho使用 -echoctl 选项。
decctlq使用 -ixany 选项。
-decctlq使用 ixany 选项。
even使用 evenp 选项。
-even使用 -evenp 选项。
everything使用 stty -a 命令显示所有当前设置。
litout使用 -opost 选项。
-litout使用 opost 选项。
odd使用 oddp 选项。
-odd使用 -oddp 选项。
pass8使用 -istrip 选项。
-pass8使用 istrip 选项。
prterase使用 echoprt 选项。
speed使用 stty 命令显示当前设置。
tandem使用 ixoff 选项。
-tandem使用 -ixoff 选项。

示例

  1. 要显示您的工作站配置的简短列表,请输入:
    stty

    这将列出与缺省值不同的设置。

  2. 要显示您的工作站配置的完整列表,请输入:
    stty  -a
  3. 要启用停止列表滚动出屏幕的按键顺序,请输入:
    stty ixon ixany

    这将设置 ixon 模式,从而可以通过按下 Ctrl-S 按键顺序来停止列表的滚动。ixany 标志允许按任意键来恢复列表的滚动。正常的工作站配置包含ixon 和 ixany 标志,使您可以用 Ctrl-S 按键顺序停止列表的滚动,而只有 Ctrl-Q 按键顺序才能使列表重新滚动。

  4. 要重新设置搞乱的配置,请输入:
    Ctrl-J stty  sane Ctrl-J
    在命令前后按 Ctrl-J 按键顺序,而不是按 Enter 键。当控制 Enter 键处理的参数搞乱时,系统通常能识别 Ctrl-J 按键顺序。

    有时屏幕上显示的信息可能看上去很奇怪,或当您按 Enter 键时系统不反应。当您使用 stty 命令,而它带有不兼容的参数或参数的操作难以理解时,可能会发生这种情况。当面向屏幕的应用程序异常结束并且无法复位工作站配置时,也可能发生这种情况。

    输入 stty sane 命令设置合理的配置,但它可能与您的正常配置略有不同。

  5. 要保存和恢复终端的配置:
    OLDCONFIG=`stty -g`          # save configuration
    stty -echo                   # do not display password
    echo "Enter password: \c"
    read PASSWD                  # get the password
    stty $OLDCONFIG              # restore configuration

    该命令保存工作站的配置、关闭回送信号、读取密码并恢复原始配置。

    输入 stty - echo 命令关闭回送信号,这意味着当您在键盘上输入密码时,密码并不出现在屏幕上。此操作与echo 命令(该命令在屏幕上显示消息)毫无关系

====

http://study.chyangwa.com/IT/AIX/aixcmds5/stty.htm#amcmi3a1manu


----------------------------------------------------------------------------------------------------

4.5.2. The stty Command

The name stty probably means "set tty," but the stty command can also be used to display a terminal's configuration. Perhaps even more so thansetserial, the stty command provides a bewildering number of characteristics you can configure. We'll cover the most important of these in a moment. You can find the rest described in thestty manual page.

The stty command is most commonly used to configure terminal parameters, such as whether characters will be echoed or what key should generate a break signal. We explained earlier that serial devices are tty devices and thestty command is therefore equally applicable to them.

One of the more important uses of the stty for serial devices is to enable hardware handshaking on the device. We talked briefly about hardware handshaking earlier. The default configuration for serial devices is for hardware handshaking to be disabled. This setting allows "three wire" serial cables to work; they don't support the necessary signals for hardware handshaking, and if it were enabled by default, they'd be unable to transmit any characters to change it.

Surprisingly, some serial communications programs don't enable hardware handshaking, so if your modem supports hardware handshaking, you should configure the modem to use it (check your modem manual for what command to use), and also configure your serial device to use it. The stty command has a crtscts flag that enables hardware handshaking on a device; you'll need to use this. The command is probably best issued from therc.serial file (or equivalent) at boot time using commands like those shown inExample 4-3.

Example 4-3. Example rc.serial stty Commands


   

 #
 stty crtscts < /dev/ttyS0
 stty crtscts < /dev/ttyS1
 stty crtscts < /dev/ttyS2
 stty crtscts < /dev/ttyS3
 # 

The stty command works on the current terminal by default, but by using the input redirection ("<") feature of the shell, we can havestty manipulate any tty device. It's a common mistake to forget whether you are supposed to use "<" or ">"; modern versions of thestty command have a much cleaner syntax for doing this. To use the new syntax, we'd rewrite our sample configuration to look like that shown inExample 4-4.

Example 4-4. Example rc.serial stty Commands Using Modern Syntax


   

 #
 stty crtscts -F /dev/ttyS0
 stty crtscts -F /dev/ttyS1
 stty crtscts -F /dev/ttyS2
 stty crtscts -F /dev/ttyS3
 # 

We mentioned that the stty command can be used to display the terminal configuration parameters of a tty device. To display all of the active settings on a tty device, use:


   

 $ stty -a -F /dev/ttyS1 

The output of this command, shown in Example 4-5, gives you the status of all flags for that device; a flag shown with a preceding minus, as in–crtscts, means that the flag has been turned off.

Example 4-5. Output of stty -a Command


   

 speed 19200 baud; rows 0; columns 0; line = 0;
 intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; 
 eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
 werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
 -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
 -ixoff -iuclc -ixany -imaxbel
 -opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0
 bs0 vt0 ff0
 -isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop
 -echoprt echoctl echoke 

A description of the most important of these flags is


given in Table 4-2. Each of these flags is enabled by supplying it to stty and disabled by supplying it to stty with the – character in front of it. Thus, to disable hardware handshaking on the ttyS0 device, you would use:

$ stty -crtscts -F /dev/ttyS0

Table 4-2. stty Flags Most Relevant to Configuring Serial Devices

   
   Flags   Description
   N   

Set the line speed to N bits per second.


    crtsdts   

Enable/Disable hardware handshaking.


    ixon   

Enable/Disable XON/XOFF flow control.


    clocal   

Enable/Disable modem control signals such as DTR/DTS and DCD. This is necessary if you are using a "three wire" serial cable because it does not supply these signals.


    cs5 cs6 cs7 cs8   

Set number of data bits to 5, 6, 7, or 8, respectively.


    parodd   

Enable odd parity. Disabling this flag enables even parity.


    parenb   

Enable parity checking. When this flag is negated, no parity is used.


    cstopb   

Enable use of two stop bits per character. When this flag is negated, one stop bit per character is used.


    echo   

Enable/Disable echoing of received characters back to sender.

The next example combines some of these flags and sets the ttyS0 device to 19,200 bps, 8 data bits, no parity, and hardware handshaking with echo disabled:


   


$ stty 19200 cs8 -parenb crtscts -echo -F /dev/ttyS0


====

http://linux.about.com/od/lna_guide/a/gdelna38t01.htm

Linux 串口调试实战:stty 命令详解与参数配置指南 串口通信是嵌入式开发与物联网设备调试的基石,而 Linux 下的 termios 体系则定义了串口参数配置的底层规范。理解波特率、数据位、停止位、校验位与流控机制,是确保设备间数据正常传输的前提。在实际工程中,stty 作为用户态操作终端设备接口的核心指令,能够帮助开发者快速查看和设置串口参数,解决乱码、丢包等常见问题。从基础参数原理到回环测试、权限管理、与 minicom/picocom 的配合,再到嵌入式环境下的自动化初始化脚本,掌握 stty 能显著提升串口调试效率。本文将系统梳理 stty 的典型用 阅读详情

相关推荐

stty详解-Unix/Linux编程实践教程第五章 学习stty

连接控制 学习stty 为设备编程&设备就像文件 前面所学的知识都是基于文件的,而在unix/linux系统中,所有的设备(打印机,终端,话筒,摄像头等等)也属于文件,它拥有文件名,支持系统调用,有类似于文件的属性(读、写、最近修改时间等) 举个

Mercuriooo的博客 1160

Linux串口设置参数

在Linux环境下,串口名从ttyS0开始依次是ttyS1、ttyS2等。在本程序中,使用ttyS0作为通信串口。在打开ttyS0的时候,选项 O_NOCTTY 表示不能把本串口当成控制终端,否则用户的键盘输入信息将影响程序的执行; O_NDELAY表示打开串口的时候,程序并不关心另一端 的串口是否在使用中。在Linux中,打开串口设备和打开普通文件一样,使用的是open()系统调用。比如我么打...

sethli的博客 2555

Linux下stty命令配置UART串口完全指南

UART串口通信是嵌入式系统开发中最基础的外设接口之一,通过异步串行协议实现设备间数据传输。其工作原理基于起始位、数据位和停止位的帧结构,支持从300bps到4Mbps的波特率范围。在Linux系统中,串口设备通过tty子系统抽象为字符设备文件(如/dev/ttyS0),而stty命令作为终端配置工具,可以直接设置波特率、数据位、校验位等关键参数。这种原生工具链支持使得Linux平台在串口调试领域具有独特优势,特别适合嵌入式开发、工业控制等需要稳定通信的场景。通过合理配置stty参数,工程师可以快速搭建调试

weixin_42629671的博客 240

Linux 下串口USB等设备通信编程入门1

此文章主要以串口为例子进行讲解,USB只需要修改打开的终端设备就可以 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备

道法自然 1万+

Linux通过stty命令操作串口设备(linux串口操作命令)

Linux通过stty命令操作串口设备(linux串口操作命令)

吻等离子的博客 1万+

MATLAB语言的并发编程

并发编程是指在同一程序中同时执行多个计算任务。通过将任务分解为较小的子任务,程序可以利用多核处理器的优势,提高计算效率。并发编程与并行编程密切相关,但不完全相同。并行编程强调任务的同时执行,而并发编程则侧重于任务的调度与管理,即使某些任务并没有同时执行。MATLAB的并发编程为数据分析、科学计算等应用提供了强大的支持。通过使用parforparfevalspmd等工具,用户可以轻松实现高效的并行计算。尽管MATLAB的并发编程工具相对简单易用,但在实际应用中仍需关注数据共享、通信、错误处理等问题。

2501_90485575的博客 364

(转)stty 命令说明及使用讲解

stty 命令说明及使用讲解 UNIX系统的命令很多,但是巧妙使用命令的方法更多。随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法。这里谈谈自己使用UNIX系统中stty命令的一些体会,希望能与你共享。 1.stty(settty,设置tty)命令用于检查和修改当前注册的终端的通信参数。UNIX系...

weixin_30556161的博客 111

【高等数值分析】Krylov子空间方法

文章目录1. 预备理论1.1 Krylov 子空间1.2 最佳逼近1.2.1 方法一:最佳平方逼近1.2.2 方法二:假设 AAA 对称正定1.2.3 方法三:残差2范数2. 基底正交化2.1 Arnoldi 过程(CGS)2.2 改进 Arnoldi 过程(MGS)2.3 Lanczos过程3. 方程组求解3.1 全正交方法 (FOM)3.2 D-Lanczos方法3.3 广义极小残量法(GMRES)3.4 MINRES 方法 1. 预备理论 现在需要求解一个大规模稀疏方程组 Ax=bAx=bAx=b,可

Glooow的博客 1万+

stty命令说明及使用详解

stty属于linux shell的一部分。关于shell编程,可以看高级Bash脚本编程指南。下载地址在http://www.linuxsir.org/main/?q=node/140。解压后,在system.html中可以看到stty的例子。stty 命令说明及使用讲解  UNIX系统的命令很多,但是巧妙使用命令的方法更多。随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法。这里谈谈自己使用UNIX系统中stty命令的一些体会,希望能与你共享。 1.stty(set tty,设置tt

袁瑞麟的专栏 3366

学习海康VisionMaster之表面缺陷滤波

本文介绍了VisionMaster中表面缺陷滤波技术的应用。该技术通过数学变换抑制背景干扰、增强缺陷特征,适用于电池铝壳、垫圈/螺丝等无纹理背景的表面缺陷检测(划痕、凹坑、异物等)。操作流程包括:图像导入、轮廓定位、位置修正、参数设置(重点讲解滤波核尺寸/数量/标准差等关键参数的调整策略)。文章通过案例演示了如何通过多方向滤波响应识别表面划伤,并指出需结合blob分析进一步优化检测结果。该技术对工业质检具有实用价值,参数设置需结合缺陷特征与背景特性灵活调整。

yuhouxiyang的专栏 2826

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

【linux命令讲解大全】143.stty命令:修改终端命令行设置的实用工具

stty命令是一个用于修改终端命令行设置的实用工具。它可以帮助用户调整终端的行为和功能,以满足个人需求。通过使用stty命令,用户可以禁止或启用特定的输出格式、更改终端的回显方式、设置终端的行数和列数等。本文介绍了stty命令的语法、常用选项和参数,并提供了一些实例来演示如何在命令行下使用stty命令进行设置修改。通过掌握stty命令,用户可以更好地管理和控制终端环境,提高命令行操作的效率和舒适度。

全栈若城,专注知识分享 7756

[QMT量化交易小白入门]-三十四、让deepseek分析北京炒家的首板策略后,在打板前增加了选股范围(量化python代码解析)

print(f'开始盘前选股')这行代码定义了一个名为的函数,当调用这个函数时,会首先打印出“开始盘前选股”的信息,表明选股流程正式启动。1、可根据情况增删部分条件,目前盘前选股目前可以选出140多支,比之前全市场监听带宽压力小了很多。2、还可以自行添加其他选股条件,比如换手率计算,炸板可能性检测。3、xtdata的数据是有可能缺失的,自己写策略时,有可能需要剔除,或者从第三方库校正,比如部分股票的流通股数。

木头大左的博客 2695

Linux 终端掌控核心:stty 命令详解与实战配置指南一、命令简介

stty命令是Linux中用于配置终端(TTY)设备的核心工具,支持查看/修改输入输出行为参数。主要功能包括:1. 基础查询(stty -a显示所有设置,stty -g生成可保存的配置);2. 控制字符定制(如修改中断信号intr ^X/EOF键eof ^D);3. 模式调整(禁用回显-echo用于密码输入、规范模式icanon控制缓冲);4. 硬件设置(波特率speed、行列数rows/cols)。典型应用场景包括终端故障修复、串口配置和脚本交互优化。使用时需注意:修改关键参数前建议备份设置,异常时可通过

qq_36742166的博客 123

电机控制的智慧之眼:全面解析FOC状态观测器

摘要:本文深入探讨磁场定向控制(FOC)中的状态观测器技术,重点分析其在无传感器电机控制中的关键作用。文章详细介绍了滑模观测器(SMO)、扩展卡尔曼滤波(EKF)、龙贝格观测器和高频注入法等主流观测器的工作原理、技术特点及适用场景,其中SMO因结构简单、鲁棒性强成为当前主流方案。同时阐述了观测器与锁相环(PLL)结合的工程实践方案,并针对不同应用场景提供了观测器选型建议。文章还探讨了启动问题处理、参数敏感性等工程挑战的解决方案,以及混合观测器、AI应用等未来发展趋势。这些观测器技术使电机系统在无机械传感器情

汽车软件开发 274

YOLOv8与UNetV2融合:一种面向目标检测与图像分割的混合方法【附核心代码】

我们提出了一种基于YOLOv8和UNetV2相结合的混合架构。该架构利用YOLOv8作为主干进行目标检测,同时在YOLOv8的特征提取过程中,引入UNetV2来进行图像分割任务的增强。在该架构中,YOLOv8负责大范围目标检测和位置预测,而UNetV2则在检测网络的特征图基础上,通过其高效的上下文信息提取和细节恢复能力,进一步优化分割任务。在本文中,我们提出了一种改进YOLOv8的方法,通过引入图像分割网络UNetV2来提高图像分割检测性能。

一键难忘的博客 3524

Linux命令行串口调试:stty/minicom实战指南

串口通信是嵌入式开发与硬件调试的基础能力,其本质是通过标准POSIX接口与字符设备交互。Linux将串口抽象为/dev/ttyUSB0等文件节点,依托stty配置波特率、数据位、流控等核心参数,再通过minicom实现带日志、宏脚本和自动重连的深度交互。这种‘一切皆文件’的设计赋予了极高的可组合性与自动化潜力,广泛应用于现场调试、产线烧录、远程运维及Docker容器内硬件控制等场景。本文聚焦linux命令行操作串口与minicom乱码排查两大高频需求,提供从设备识别、参数设置到故障诊断的全链路工程化方案。

weixin_34367257的博客 380

学Simulink——基于Simulink的AUTOSAR架构下电机控制软件组件建模

本文详细介绍了在Simulink中基于AUTOSAR架构开发电机控制软件组件(SWC)的全流程。主要内容包括:首先阐述了AUTOSAR架构对汽车电子系统开发的价值,包括提高软件复用率、降低集成成本和改善验证环境。然后重点讲解了在Simulink中构建电机控制SWC的具体步骤:从创建AUTOSAR组件模型、定义数据端口和服务端口,到搭建FOC控制算法、配置运行实体,最后生成AUTOSAR描述文件和验证RTE接口。文章还提供了与基础软件(BSW)的集成方案、工程实践要点和常见问题解决方案,并以大众MEB平台等实

amy_mhd的博客 67

yuzu 模拟器:把 Switch 游戏搬上 PC 的完整上手指南

想在电脑或手机上玩《塞尔达传说:旷野之息》,手头却只有一台 PC?yuzu 是一个开源的任天堂 Switch 模拟器,它能帮你把 XCI、NSP 等 Switch 游戏文件直接跑起来,支持 Windows、Linux 和 Android 三个平台。本文从安装、密钥配置讲到按硬件档位调优,适合第一次接触 yuzu 的新手照着做。 ## 🎮 谁适合用 yuzu 跑 Switch 游戏 先说几个真

gitblog_00790的博客 284

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

stty 命令 调试串口

stty命令调试串口 (2011-04-25 23:33:19) 转载▼ 标签: 杂谈 分类:2010.3~ echo -e "AT\r" > /dev/ttymxc1 echo -e "AT+ESLP=0\r" /dev/ttymxc1 cat /dev/ttymxc1 fg //切换到前台 查看串口的发送和接受状...

weixin_30820077的博客 875

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux串口调试实战:stty查看与配置串口参数全指南

在嵌入式开发和系统运维中,串口始终是连接硬件设备与调试终端的核心通道。Linux系统将一切设备抽象为文件,串口对应的设备节点位于 /dev 目录下,如常见的 /dev/ttyUSB0 和 /dev/ttyS0。要实现对串口的灵活控制,离不开 stty 这一底层命令,它直接面向终端驱动,可查看和修改波特率、数据位、停止位、校验位等关键属性,是串口调试的基石。理解这些参数背后的原理,不仅能帮助开发者快速定位乱码、丢数据、权限拒绝等高频问题,还能为编写串口程序打下基础。在嵌入式开发板连接、固件烧写、网络设备配置等

weixin_34377919的博客 414

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Linux串口调试实战:stty配置与USB转串口排查指南

串口通信是嵌入式开发和硬件调试中最基础也最实用的技术之一。在Linux系统中,正确识别串口设备并配置其工作参数,是保障数据稳定收发的前提。本文从串口设备节点生成原理讲起,介绍如何使用dmesg、lsusb定位USB转串口模块,并重点讲解stty命令在设置波特率、数据位、停止位及原始模式中的应用。同时,针对常见的乱码、丢字节、设备占用等问题,给出了结合pyserial和命令行工具的排查思路,并对比了USB转串口与原生UART的差异。无论你是调试开发板console还是与MCU进行协议通信,掌握这些串口配置与排

ciya3282的博客 363
上一篇: 串口程序设计——struct termios结构体
下一篇: Linux串口编程详解
Alan0521
博客等级 码龄19年 77粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值