stty是Linux系统中用于显示和修改终端(terminal)设置的实用工具,它可以用来配置串口通信参数,包括波特率、数据位、停止位和校验位等。
在修改串口参数前,建议先查看当前设置:
stty -F /dev/ttyS0 -a
或使用更简洁的方式:
stty -F /dev/ttyS0
输出示例:
speed 9600 baud; line = 0;
-brkint -imaxbel
stty -F /dev/串口设备名 波特率
stty -F /dev/ttyS0 115200
修改后再次查看确认:
stty -F /dev/ttyS0
除了波特率,还可以设置其他通信参数:
stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb
参数说明:
- 115200
:波特率
- cs8
:8位数据位
- -cstopb
:1位停止位(使用cstopb
表示2位停止位)
- -parenb
:无校验位(使用parenb
启用校验位)
如果出现"Permission denied"错误,尝试使用sudo:
sudo stty -F /dev/ttyS0 115200
或者将当前用户加入dialout组:
sudo usermod -a -G dialout $USER
然后注销重新登录。
确认设备文件是否存在:
ls -l /dev/ttyS*
对于USB转串口设备,通常是/dev/ttyUSB0
等。
保存当前设置:
stty -F /dev/ttyS0 -g > ttyS0_settings
恢复设置:
stty -F /dev/ttyS0 $(cat ttyS0_settings)
stty -F /dev/ttyS0 crtscts
stty -F /dev/ttyS0 -crtscts
通过stty命令,您可以灵活地配置Linux系统中的串口通信参数,满足各种调试和通信需求。