串行端口问题

串行端口问题

我无法访问装有 Ubuntu 12.04 的电脑上的串行端口。

命令:

dmesg | grep ttyS

输出:

[    0.590705] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

我认为串行端口未被检测到。

有人能帮我解决这个问题吗?

答案1

[    0.590705] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

上面这一行告诉我们内核检测到了16550 通用异步收发器你的电脑上的一个芯片,它提供了一个串行端口(ttyS0),并且为其分配了一些资源(0x3f8 I/O地址中断请求 4)。

串行设备的默认权限如下:

crw-rw---- 1 root dialout ... /dev/ttyS0

因此,如果您是该组的成员dialout,您将能够访问(读取/写入)串行端口设备。dialout通过运行以下命令将自己添加到该组中:

sudo adduser $USER dialout

或者:

sudo adduser <username> dialout

然后注销并重新登录。现在您应该可以访问串行端口了。当然,您还必须在用于访问设备的程序中输入正确的设置(速度、数据位、奇偶校验、停止位、流量控制)。

相关内容