Problema Lettura risposta modbus

Ciao, allora vi aggiorno sulla mia situazione. Ho messo le resistenze di fine linea ma ovviamente non cambia niente. Sempre solito problema. Ho fatto ulteriori prove anche con altre librerie modbus e il risultato è sempre lo stesso. Riesco a scrivere sullo slave (visto che non è strettamente necessario leggere la risposta dello slave dal master) ma al momento della lettura il master non riesce a leggere.

Ho fatto anche un'altra prova senza modbus, con due semplici sketch dove uno invia un semplice int su seriale e l'altro legge.

Sketch 1 ("Slave"):

/*
  Mega multple serial test
 
 Receives from the main serial port, sends to the others. 
 Receives from serial port 1, sends to the main serial (Serial 0).
 
 This example works only on the Arduino Mega
 
 The circuit: 
 * Any serial device attached to Serial port 1
 * Serial monitor open on Serial port 0:
 
 created 30 Dec. 2008
 modified 20 May 2012
 by Tom Igoe & Jed Roach
 
 This example code is in the public domain.
 
 */

int pin= 7;

void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
  pinMode(pin,OUTPUT);
}

void loop() {
  // read from port 1, send to port 0:
  
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.println(inByte);
    Serial1.flush();
     //delay(100);
     
     //digitalWrite(pin,HIGH);
     delay(10);
  
    // Serial1.write(45);
    digitalWrite(pin,LOW);
  delay(10);   
  }
  
}

Sketch 2 ("Master"):

/*
  Mega multple serial test
 
 Receives from the main serial port, sends to the others. 
 Receives from serial port 1, sends to the main serial (Serial 0).
 
 This example works only on the Arduino Mega
 
 The circuit: 
 * Any serial device attached to Serial port 1
 * Serial monitor open on Serial port 0:
 
 created 30 Dec. 2008
 modified 20 May 2012
 by Tom Igoe & Jed Roach
 
 This example code is in the public domain.
 
 */
int pin =2;

void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
  pinMode(pin,OUTPUT);
}

int i=0;
void loop() {
 i++;
  Serial.print("Ciclo ");
  Serial.println(i);
  
  if(Serial1.available()){
    Serial.println("C'e qualcosa");
    while(Serial1.available()){
    int b= Serial1.read();
    Serial.println(b);
    
    }
  }
  digitalWrite(pin,HIGH);
  delay(1);
  

  Serial1.write(1);
    
  delay(100);
  
 Serial1.flush();
  
  digitalWrite(pin,LOW);
  
  
  delay(1000);
}

Dallo "slave" leggo tranquillamente il mio intero, nel master dopo la prima scrittura mi ritrovo nella Serial1 un byte =0;

Questo è l'output su Serial del master:

Ciclo 1
Ciclo 2
Ciclo 3
C'e qualcosa
0

Che di base è lo stesso problema che avevo con le librerie modbus. Mi sfugge qualcosa?? Ultima cosa, che magari può essere utile, come board utilizzo un Mega2560 e un Seeduino AtMega1280.