yes!
ho semplificato la funzione di ricezione per capire dove fosse il problema facendomi stampare tutto il contenuto del buffer:
boolean receiveMsg(){
rxMode();
boolean res =false;
int k = 0;
Serial.print("bytes in ingresso: ");
Serial.print(myserial.available());
Serial.println();
while(myserial.available()){
Serial.print(myserial.read());
Serial.print(" ");
}
Serial.println();
myserial.flush(); //<----eccolo!
return checkTrama();
}
eseguo anche un flush "preventivo" prima di inviare il messaggio al dispositivo.
Domanda:
sto usando eth shield r3 sul mio mega 2560 r3. è normale che il led tx sullo shield blinki in accordo con quello della porta eth? Non è che i dati che leggo in seriale, per qualche motivo misterioso, vengono dalla eth???
per chiarezza uso i seguenti pin:
53 per comandare la modalità di trasmissione del max485
5v e gnd per alimentare lo stesso integrato (presi dall shield)
19, 18 rx tx per la comunicazione seriale
4 per SD
credo sia tutto