linux 串口调试命令 stty
stty
(设置终端行模式)命令是用来配置终端设备(包括串口设备)的输入和输出行为的工具。在串口通信中, stty
用来配置串口的各种参数,如波特率、数据位、停止位、奇偶校验等。
stty
常见命令选项:
-F
: 指定设备文件(例如/dev/ttyS0
)。csX
: 设置数据位数(X
为 5、6、7 或 8)。-parenb
: 禁用奇偶校验。parenb
: 启用奇偶校验。-cstopb
: 使用 1 个停止位。cstopb
: 使用 2 个停止位。clocal
: 忽略调制解调器状态线路的控制。-clocal
: 使用调制解调器状态线路。ixon
: 启用软件流控制(XON/XOFF)。-ixon
: 禁用软件流控制。raw
: 原始模式,禁止所有输入输出处理。-raw
: 规范模式,启用输入输出处理。speed
: 设置波特率。
常用参数:
设置波特率:
stty -F /dev/ttyS0 115200
这将把串口
/dev/ttyS0
的波特率设置为 115200。设置数据位:
stty -F /dev/ttyS0 cs8
设置 8 数据位。
设置停止位:
stty -F /dev/ttyS0 cstopb
设置 2 个停止位。如果你要设置 1 个停止位,可以使用
-cstopb
。设置奇偶校验:
stty -F /dev/ttyS0 parenb
启用奇偶校验。如果要禁用奇偶校验,可以使用
-parenb
。设置流控制:
启用软件流控制
(XON/XOFF):
stty -F /dev/ttyS0 ixon
禁用软件流控制
:
stty -F /dev/ttyS0 -ixon
设置本地模式(忽略调制解调器线路控制):
stty -F /dev/ttyS0 clocal
如果不希望使用调制解调器状态线路控制,可以使用
-clocal
。查看当前配置:
stty -F /dev/ttyS0 -a
显示串口的当前设置,包括波特率、数据位、停止位、流控制等。
一次性设置串口所有常见参数
假设你想配置串口 /dev/ttyS0
的常见参数,包括波特率、数据位、停止位、奇偶校验、流控制等,可以使用如下命令:
stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb -ixon clocal
解释:
115200
: 设置波特率为 115200。cs8
: 设置数据位为 8 位。-cstopb
: 设置 1 个停止位(即禁用 2 停止位)。-parenb
: 禁用奇偶校验。-ixon
: 禁用软件流控制。clocal
: 忽略调制解调器线路状态控制。
总结
stty
是一个强大的命令,可以帮助你配置串口的各种参数。常见的设置包括波特率、数据位、停止位、奇偶校验、流控制等,使用时可以根据实际需求调整。