我有一些适用于Windows 7的代码,但是当我在Windows 10计算机上尝试相同的代码时程序关闭。这是代码:
try {
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier((String)openParameters[0]);
this._serCommPort = (SerialPort) portId.open("PTxCore", 1000);
this._serCommPort.setSerialPortParams((int)openParameters[1], (int)openParameters[2], SerialPort.STOPBITS_1, (int)openParameters[3]);
this._serCommPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
this._serCommPort.addEventListener(this);
this._serCommPort.notifyOnDataAvailable(true);
this._commsOutStream = this._serCommPort.getOutputStream();
this._commsInStream = this._serCommPort.getInputStream();
this.clearBuffer();
this.onTraceEvent(TraceEventArgs.Mode.Hidden, "{Open}");
}
catch (UnsupportedCommOperationException | TooManyListenersException | IOException | PortInUseException | NoSuchPortException ex) {
throw new PTxCoreException(ex.getMessage(), ex.getClass().getName());
}
}
没有异常被捕获,它只是关闭。我尝试了不同版本的Eclipse(32/64位),并在网络上随处可见但无法找到解决方案。有什么想法可能会发生这种情况吗? Serialio.jar(我认为处理这个?)显然与Windows 10兼容。
当它关闭时,我收到此错误:
... javaw.exe的
Eclipse的底部还有这些东西:
javax.comm.SerialPort implementation: version 3.8
Copyright (c) 1998-2009 Serialio.com, All Rights Reserved.
Serialio Library: version 10.1.2: build 9221
Copyright (c) 1996-2012 Serialio.com, All Rights Reserved.
os.name="Windows 10" os.arch="x86"
osName=Windows 10 osArch=x86
Platform not supported, check VM properties os.name & os.arch
答案 0 :(得分:0)
它有点迟到但可能对某人有所帮助。我得到了同样的错误。这是因为我使用的是旧版本的Serialio.jar。在将其升级到最新版本(我认为版本:9233?)后,它在Windows 10上开始正常运行。