Ciaoo a tutti,
siccome sono alle prime armi con Java e devo sviluppare una GUI, ho il problema che non riesco a visualizzare le informazioni che invio tramite un bottone, collegamento seriale (RS232) ad una bilancia dal PC.
In pratica la bilancia ha un comando specifico per la lettura del peso tramite seriale, e questo comando (chiamiamolo P) dovrebbe esser associato al Jbotton che ho creato, sotto forma di stringa nascosta.
Sotto vi posto i 2 metodi di lettura e scrittura (con l'opzione JTexArea, nel codice della GUI, funzionano correttamente):
Con l'opzione Jbutton per l'invio "nascosto" della stringa P, al click del bottone:codice:..... ..... public void serialEvent(SerialPortEvent event) { switch (event.getEventType()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: byte[] readBuffer = new byte[64]; try { // read data int numBytes = inputStream.read(readBuffer); inputStream.close(); //send the received data to the GUI String result = new String(readBuffer,0,numBytes); gui.setjtaReceived(result); System.out.println(result); } catch (IOException e) {exceptionReport(e);} break; } } //end of serialEvent() method .... .... public void writetoport(String outString) { try { if(portOpen) outputStream.write(outString.getBytes()); System.out.println(outString.getBytes()); } catch (IOException e) {exceptionReport(e);} } .... ....
Non riesco a leggere il peso, forse mi sfugge qualcosa.codice:....... ....... jbPesoP.setText("P"); jbPesoP.setToolTipText("P"); jbPesoP.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jbPesoPActionPerformed(evt); } }); private void jbPesoPActionPerformed(java.awt.event.ActionEvent evt){ if(Bilancia.portOpen){ System.out.println("\n "+jbPesoP.getText()); main.writetoport(jbPesoP.getText()); jbPesoIP.setText("P"); } } .... ....
Spero di essere stato esaustivo.
in ogni caso vi ringrazio anticipatamente.![]()

Rispondi quotando