我正在尝试使用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