Guten Morgen Liste oder finden,RXTX nicht-Ports unter Windows 7 64 Bit
Ich habe Probleme mit/oder Installation rxtx auf Windows 7 64 Bit. Ich habe vorher mit einem x86 Win XP System gearbeitet und hatte keine Probleme. Seit der Neuinstallation auf diesem neuen System kann rxtx aus irgendeinem Grund keine Ports mehr finden. Ich habe versucht, die rxtx-Installation, Cloud Hopper native 64-Bit-Bibliothek und Löschen aller RXTX-Dateien und von Grund auf neu zu starten. RXTxcomm.jar wird gefunden und ich kann die Pakete in NetBeans durchsuchen, aber die Implementierung scheint kaputt zu sein oder nicht gefunden zu werden.
Diese Linie versagt bei der Ausführung, jedes Mal:
comPort = "COM1";
portId = CommPortIdentifier.getPortIdentifier(comPort);
und wirft einen NoSuchPortException.
Wenn Sie die seriellen Schnittstellen auflisten, wird nichts erzeugt.
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
String portArray[] = null;
while (ports.hasMoreElements()) {
CommPortIdentifier port = (CommPortIdentifier) ports.nextElement();
System.out.println(port.getName());
}
Ich habe die seriellen Schnittstellen so an dieser Stelle zur Verfügung stehen checke ich frage mich, wenn die nativen Bibliotheken einfach für Fenster gebrochen werden 7 64 Bit.
Hat jemand erfolgreich RXTX 2.2pre2 unter Windows 7 64 Bits verwendet?
Beleidigendes Codeabschnitt in Konstruktor:
public SerialControl(String name, String comPort, int baudrate, int databits, String parity, double stopbits) throws Exception {
int stop = 0;
int data = 0;
int par = 0;
this.name=name;
// Sanity checks and interpretation
if (baudrate > 115200 || baudrate < 300) {
System.err.println(name+": constructor(): Invalid baudrate "+baudrate);
throw new Exception("Invalid baudrate, " + baudrate);
}
if (databits >= 5 && databits <= 8) {
switch (databits) {
case 5:
data = SerialPort.DATABITS_5;
break;
case 6:
data = SerialPort.DATABITS_6;
break;
case 7:
data = SerialPort.DATABITS_7;
break;
case 8:
data = SerialPort.DATABITS_8;
break;
default:
System.err.println(name+": constructor(): Invalid data bits, switched " + databits);
throw new Exception("Invalid data bits, switched " + databits);
}
} else {
throw new Exception("Invalid data bits=" + databits);
}
if (stopbits >= 1.0 && stopbits <= 2.0) {
if (stopbits == 1.0) {
stop = SerialPort.STOPBITS_1;
} else if (stopbits == 1.5) {
stop = SerialPort.STOPBITS_1_5;
} else if (stopbits == 2.0) {
stop = SerialPort.STOPBITS_2;
} else {
System.err.println(name+": constructor(): Invalid stop bits, switched " + stopbits);
throw new Exception("Invalid stop bits, switched " + stopbits);
}
} else {
System.err.println(name+": constructor(): Invalid stop bits, switched " + stopbits);
throw new Exception("Invalid stop bits " + stopbits);
}
switch (parity) {
case "S":
par = SerialPort.PARITY_SPACE;
break;
case "E":
par = SerialPort.PARITY_EVEN;
break;
case "M":
par = SerialPort.PARITY_MARK;
break;
case "O":
par = SerialPort.PARITY_ODD;
break;
case "N":
par = SerialPort.PARITY_NONE;
break;
default:
System.err.println(name+": constructor(): Invalid parity, switched " + parity);
throw new Exception("Invalid parity, switched " + parity);
}
// Inits
// Try to find the port specified
try {
portId = CommPortIdentifier.getPortIdentifier(comPort);
} catch (Exception e) {
System.err.println(name+": constructor(): No such port \"" + comPort+"\"");
e.printStackTrace();
throw e;
}
// Open the port
try {
serialPort = (SerialPort) portId.open("User Port", 2000);
} catch (PortInUseException e) {
System.err.println(name+": constructor(): Could not open port " + comPort);
throw e;
}
// Grab the input stream
try {
inputStream = serialPort.getInputStream();
} catch (IOException e) {
System.err.println(name+": constructor(): Could not get input stream for " + comPort);
throw e;
}
// Set the serial port parameters, no flow control
try {
serialPort.setSerialPortParams(baudrate, data, stop, par);
serialPort.setDTR(false);
serialPort.setRTS(false);
} catch (UnsupportedCommOperationException e) {
System.err.println(name+": constructor(): Error initializing " + comPort);
throw e;
}
}
beide 'SerialControl' und CommPortIdentifier # getPortIdentifiers()' Arbeit von Eclipse und der Befehlszeile – GrahamA
Ein wenig Follow-up für Leute, die dies auftreten können, wurden meine Projekte aus einer Windows XP-Umgebung importiert, Wiederaufbau in Windows 7 scheint zu haben korrigiert, was auch immer das Problem war. – darkhelmet