51,412
社区成员
发帖
与我相关
我的任务
分享
import java.util.Enumeration;
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import serialException.PortInUse;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Enumeration<CommPortIdentifier> portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
String portName = portList.nextElement().getName();
System.out.println(portName);
try {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
System.out.println(portName);
System.out.println("cuan");
CommPort commPort = portIdentifier.open(portName,2000);
System.out.println("串口被占用");
if(commPort instanceof SerialPort){
SerialPort serialPort = (SerialPort)commPort;
//设置串口的波特率等参数
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
System.out.println("Open " + portName + "sucessfully!");
}
} catch (PortInUseException e1) {
throw new PortInUse(); //自定义的异常
} catch (NoSuchPortException e2) {
e2.printStackTrace();
}
}
}
}


CommPort commPort = portIdentifier.open(portName,2000);