stty调试uart串口

注意:文章来源于AI,觉得不错,在此记录一下,版权属于AI

在Linux系统中,可以使用 stty 命令快速查看和设置串口的波特率及其他通信参数,这在嵌入式开发、工业控制和物联网调试中非常常用。

示例:查看 /dev/ttyS0 串口的波特率和参数

stty -F /dev/ttyS0 -a

该命令会输出当前串口的详细配置,包括输入波特率(ispeed)输出波特率(ospeed)、数据位、停止位和校验方式等。

查看串口波特率

  • 使用 stty -F <设备文件> -a 可以显示完整的串口参数。

  • 例如:

  • stty -F /dev/ttyUSB0 -a

输出中 speed 115200 baud; 表示当前波特率为 115200bps

设置串口波特率

  • 临时设置(重启后失效):

  • stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb

此命令将 /dev/ttyS0 设置为 9600bps,8位数据位,1位停止位,无校验。

读取与发送数据

  • 接收数据:

  • cat /dev/ttyS0

发送数据:

echo "Hello" > /dev/ttyS0

注意事项

  1. 权限问题 :普通用户可能需要 sudo 执行,或加入 dialout 组。

  2. 设备文件名 :物理串口通常是 /dev/ttyS* ,USB转串口是 /dev/ttyUSB*

  3. 硬件支持:确保所设波特率在硬件支持范围内,否则可能通信失败。