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