Linux中带有jSSC的串行端口

bru*_*rut 4 java linux jssc

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

import jssc.SerialPortList;
....
String[] ports = SerialPortList.getPortNames();
Run Code Online (Sandbox Code Playgroud)

但它总是返回空数组。

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
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

小智 5

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

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

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

sudo adduser phil dialout
Run Code Online (Sandbox Code Playgroud)

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

sudo chmod 666 /dev/ttyS0
Run Code Online (Sandbox Code Playgroud)

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