PDA

View Full Version : [JAVA] Comunicazione porta seriale


sonic85
28-10-2009, 14:23
Ciao a tutti,
sono nuovo di java e sto sviluppando un programma che deve comunicare con un dispositivo RFID collegato sulla seriale. In pratica devo inviare un comando al dispositivo reader ed aspettare la risposta dal tag.
Sono riuscito a fare tutto questo utilizzando le librerie RXTX e la classe SerialEvents...
Il problema avviene nella classe SerialEvents all'invocazione del "case SerialPortEvent.DATA_AVAILABLE" il quale mi dovrebbe dare la risposta con i dati contenuti nel tag con un'unica trasmissione di dati, invece è come se fosse invocato più volte e mi divide l'informazione in più pacchetti.
Non riesco a capire bene come funziona questa classe... e quando viene invocato quello specifico case e come gestire questi eventi...

Qualcuno mi può aiutare??:help:

ally
28-10-2009, 15:39
...intercetti l'evento e leggi il contenuto fino a che non arrivi alla fine della riga da trasmettere...


public void serialEvent(SerialPortEvent spe) {

StringBuffer readBuffer = new StringBuffer();
int read = 0;
try {
read = this.inCommPort.read();
readBuffer.append((char) read);
while((read=inCommPort.read()) != 10)
{
readBuffer.append((char) read);
}
}
this.inCommPort.close();
System.out.println("letto : "+readBuffer.toString());
}catch(Exception e) {

}
}



...ciao Andrea...

sonic85
28-10-2009, 15:41
...intercetti l'evento e leggi il contenuto fino a che non arrivi alla fine della riga da trasmettere...


public void serialEvent(SerialPortEvent spe) {

StringBuffer readBuffer = new StringBuffer();
int read = 0;
try {
read = this.inCommPort.read();
readBuffer.append((char) read);
while((read=inCommPort.read()) != 10)
{
readBuffer.append((char) read);
}
}
this.inCommPort.close();
System.out.println("letto : "+readBuffer.toString());
}catch(Exception e) {

}
}



...ciao Andrea...

grazieee mille!:D!gentilissimo!