Salve a tutti,
premetto che non ho sotto mano il terminale su cui lavoro al momento quindi non riesco a postare il codice prima di qualche giorno, ma tento comunque di spiegarmi al meglio; al momento devo mettere in comunicazione un pc con un Pic (nello specifico un pic18f97j60) via seriale e leggere i dati che quest'ultimo mi invia ( br 19200, no parity, 8 bit, 1 bit stop). Per velocizzare sto utilizzando Processing.

Il problema nello specifico è: se testo la comunicazione via HyperTerminal di win va tutto bene, mi arrivano i dati come voglio io, piu o meno cosi:

123
123
123
123
..etc
..etc

ovvero il dato in colonna (proprio come dovrebbe essere da codice sul pic). Con il programma in java invece mi arriva una cosa di questo tipo:


X123X
X1X
X23X
X12X
X3X

in pratica l'ordine dei numeri è sempre lo stesso (123) ma arrivano a righe sfalzate e soprattutto ogni riga inizia e termina con il carattere "quadratino" che credo sia l'ASCII 0 (qui nell'esempio ho usato la X)

la ricezione quindi c'è, solo che è difettosa. Sapete da cosa potrebbe dipendere? le impostazioni di comunicazione seriale sono impostate correttamente (il baudrate e i bit vari).

Se può essere d'aiuto, ho utilizzato questa sintassi:
codice:
Serial com = new Serial(this, Serial.list()[1], 19200);
e:

codice:
while (myPort.available() > 0) 
{
    String inBuffer = myPort.readString();   
    println(inBuffer);
}

spero di essere stato chiaro nella spiegazione, in ogni caso posterò quanto prima il codice esatto