设置tty的波特率

设置tty的波特率

如何设置特定 tty(在本例中为串行端口)的波特率?我尝试使用

stty -F /dev/tty.iap ispeed 19200

Invalid argument但是,除了 9600(默认值)之外,我尝试的每个速度(2400、4800 等)都会出现错误。我可以使用 成功更改 C 程序中的速度cfsetspeed。我是否需要在其他地方进行更改,例如文件ttys

答案1

我用的是命令stty -F /dev/ttyUSB0 9600

答案2

我使用屏幕来达到这个目的

# screen /dev/ttyUSB0 38400

奇迹般有效

答案3

这可能是权限问题。

/dev/ttyUSB0 是一个 IO 端口,为了避免使用 sudo 或 root,您应该将您的用户添加到拥有该设备的组中。你可以检查一下,例如

$ ls /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Mar 29 09:12 /dev/ttyS0

编辑文件:

sudo vipw -g

该文件将如下所示:

在此输入图像描述

查找拨出组并在末尾添加您的用户名,然后从会话中注销/登录或重新启动。 在此输入图像描述

答案4

在我的机器上,两者都不stty -F /dev/ttyUSB0 9600适合screen /dev/ttyUSB0 9600我,但sudo stty speed 9600很成功。

相关内容