4

我在跨平台应用程序中使用 jSSC-2.6.0。Windows 机器(32/64 位)上返回的端口列表是正确的,但是 MacOSX(v10.6 和 10.7)应用程序不返回任何串行设备。如果我在终端中手动查看串行设备ls /dev/tty.*,我可以查看三个设备。从 jssc 示例文件运行以下行在同一台 MAC 机器上不会返回任何内容:

String[] portNames = SerialPortList.getPortNames();

使用后,我只能看到一大堆设备,包括终端中的设备:

String[] portNames = SerialPortList.getPortNames("/dev/", Pattern.compile("tty."));

一个缺点是它将机器挂起 10 秒,而在另一台机器 (10.7) 上,它在 30 秒后没有响应。

有没有办法使用 jssc 可靠地连接到 MAC 上的串行设备?

4

1 回答 1

3

jSSC 使用它regexp来列出 Mac 上的串行端口:tty.(serial|usbserial|usbmodem).*如果无法使用此正则表达式找到您的设备,您应该更改它以获取您的设备名称。

下一个重要的事情是 jSSC 尝试打开端口并获取termios结构以识别真正的串行设备。在所描述的情况下,我建议只使用官方和最新的驱动程序。端口列表功能真的很简单,尝试使用一些串口终端在另一个软件上检查这个问题。

于 2013-08-19T19:45:05.237 回答