Ciao!
recentemente sto portando avanti il discorso Arduino.
Ho un problema relativo all'rxtx.
Tramite il playground ho allestito l'environment java e arduino per una semplice comunicazione.
lato arduino...una cosa facilissima:
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println("test connessione ok!");
delay(1000);
Serial.println("Locking....");
Serial.end();
Serial.flush();
// while(1){}
}
Purtroppo sebbene funzioni, non riesco a capire come fare in modo che il progetto in eclipse non rimanga in Hang.
Il comando per leggere il chunk da arduino:
while(oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
int available = input.available();
System.out.println(available);
byte chunk[] = new byte[available];
input.read(chunk, 0, available);
// Displayed results are codepage dependent
// while(input.available()>0) {
System.out.print( new String(chunk));
} catch (Exception e) {
this.close();
System.err.println(e.toString());
}
}
Non è in grado di capire quando non esistono + bytes o che il chunk rimane vuoto per interrompere il while.
Ho dovuto persino commentare input.available()o non mi avrebbe restituito mai nessun dato da sysout...
Aggiungo che dopo qualche tentativo mi becco pure su Eclipse un:
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Could not find COM port.
E l'unico modo per uscirne è spegnere e riavviare l'IDE!! assurdo!!
grazie!