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);
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
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.