我无法使用 Ubuntu 12.04 访问我 PC 上的串行端口。
命令:
dmesg | grep ttyS
Run Code Online (Sandbox Code Playgroud)
输出:
[ 0.590705] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
Run Code Online (Sandbox Code Playgroud)
我认为没有检测到串口。
任何人都可以帮我解决问题吗?
Run Code Online (Sandbox Code Playgroud)[ 0.590705] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
上面的行告诉我们内核在您的 PC 中检测到一个16550 UART芯片,它提供了一个串行端口 (ttyS0),并且有一些资源分配给它(0x3f8 I/O 地址,IRQ 4)。
串行设备的默认权限如下:
crw-rw---- 1 root dialout ... /dev/ttyS0
Run Code Online (Sandbox Code Playgroud)
因此,如果您是该dialout
组的成员,您将能够访问(读取/写入)串行端口设备。dialout
通过运行将自己添加到组中:
sudo adduser $USER dialout
Run Code Online (Sandbox Code Playgroud)
或者:
sudo adduser <username> dialout
Run Code Online (Sandbox Code Playgroud)
然后注销并重新登录。现在您应该可以访问串行端口了。当然,您还必须在用于访问设备的程序中输入正确的设置(速度、数据位、奇偶校验、停止位、流量控制)。
归档时间: |
|
查看次数: |
3111 次 |
最近记录: |