JSSC无法识别Arduino开发板

问题描述

我正在尝试使用JSSC library连接到我的Arduino Nano。我有适用于Mac的驱动程序,并且可以与Arduino编辑器一起使用,并且可以进行所有操作,但是JSSC库无法识别该板。没有错误,只是找不到我的主板。

这是我的代码

package com.apstamp45.arduino_test;

import jssc.SerialPortList;

/**
 * This class is used to comunicate with
 * an Arduino through a serial port using
 * the JSSC library.
 * @see https://github.com/scream3r/java-simple-serial-connector/releases/tag/v2.8.0
 * @author apstamp45
 * @since 10/20/2020
 */
public class Main {
    
    /**
     * The main method.
     * @param args The command line arguments.
     */
    public static void main(String[] args) {
        String[] portNames = SerialPortList.getPortNames();
        for (int i = 0; i < portNames.length; i++) {
            System.out.println(portNames[i]);
        }
    }
}

任何建议将不胜感激。

解决方法

在SerialPortList.java第56行中:

PORTNAMES_REGEXP = Pattern.compile("tty.(serial|usbserial|usbmodem).*");

正则表达式不包含Arduino Nano的usb类型(或所有板级idk)。通过将行更改为以下内容来解决此问题:

PORTNAMES_REGEXP = Pattern.compile("tty.((serial|usbserial|usbmodem).*|wchusbserial*)");

这使库可以识别此USB类型。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...