Jeg bruger den følgende kode til at checke om serial porten er åbne, hvis den er åbne, lukker jeg den og åbner den igen. Men jeg får en exception på linjen markeret med ****. hvorfor gør jeg det?
portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if (portId.getName().equals(SERIALPORT)) { try { boolean owned = portId.isCurrentlyOwned(); String owner = portId.getCurrentOwner();
if(owned == true && owner == "MicroCOM"){//check whether the port is open serialPort.close();//close the port**** } serialPort = (SerialPort) portId.open("MicroCOM", 2000); //close outputStream = serialPort.getOutputStream(); serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
En mulighed kunne jo også være, at du postede den exception du får. Den kan måske gøre fejlfinding en hel del nemmere.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.