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);
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
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.