5

我正在尝试使用 jSSC 在 java 中使用串行端口。我的代码:

import jssc.SerialPortList;
....
String[] ports = SerialPortList.getPortNames();

但它总是返回空数组。

brut@brut-Z97-D3H:~$ dmesg | grep tty
[    0.000000] console [tty0] enabled
[    0.957537] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

谁能帮我?

4

1 回答 1

6

我最近遇到了同样的问题,这就是我设法找到的。

您应该检查的第一件事是您是否有足够的权限访问 tty* 接口。

首先,确保您的用户在dialout组中。如果没有,执行

sudo adduser phil dialout

然后赋予自己对确切端口的读写权限。

sudo chmod 666 /dev/ttyS0

之后SerialPortList.getPortNames()应该返回ttyS0

于 2016-09-07T10:55:29.417 回答