Problemi comunicazione MODBUS [RISOLTO]

Da link da te indicato ho trovato un esempio

#include <SimpleModbusSlave.h>
#define  CE_Pin   8          // Chip Enable 
#define  baudrate 57600
byte ID = 1;

//////////////// registers of your slave ///////////////////
enum 
{     
  // ---- Addres Reg. 0 Lecturas de Valores  
  I,     
  V,        
  E,
  RAD,
  TEMP,
  PvGiro,
  PvEleva,
  VelGiro,
  VelEleva,
  AL1,
  AL2,
  
  // ---- Addres Reg. 11 Escrituras. Parametrso 
  MaxGiroPot,
  LGi,
  LGiC,
  CalibraGiEl,
  LElMaMe,
  LElCMaMe,
  VelGiElminAl,
  ZmGiEl,
  T1,
  T2,
  TEWeb_AngPosSeg,
  
  // ---- Addres Reg. 22 Escrituras. Posicion y Ordenes 
  SV_Giro,
  SV_Eleva,
  FLOrdenes,
  
  // ---- Addres Reg. 25 Escrituras. Fecha y Hora 
  Ano,
  MesDia,
  HoraMin,
  
  TOTAL_ERRORS,
  
  // leave this one
  TOTAL_REGS_SIZE 
  
};

unsigned int holdingRegs[TOTAL_REGS_SIZE]; // function 3 and 16 register array
////////////////////////////////////////////////////////////

void setup()
{
  // parameters(long baudrate, unsigned char ID, unsigned char transmit enable pin, unsigned int holding registers size)
  modbus_configure(115200, ID, CE_Pin, TOTAL_REGS_SIZE);  //No es necesario definir CE_Pin como OutPut, lo hace la libreria    
}


void loop()
{
  // modbus_update() is the only method used in loop(). It returns the total error
  // count since the slave started. You don't have to use it but it's useful
  // for fault finding by the modbus master.
  
  holdingRegs[I] = millis() / 1000;     
  holdingRegs[V] = 2;        
  holdingRegs[E] = 3;
  holdingRegs[RAD] = 4;
  holdingRegs[TEMP] = 5;
  holdingRegs[PvGiro] = 6;
  holdingRegs[PvEleva] = 7;
  holdingRegs[VelGiro] = 8;
  holdingRegs[VelEleva] = 9;
  holdingRegs[AL1] = 10;
  holdingRegs[AL2] = 11;
  
  //------------//
  holdingRegs[MaxGiroPot] = 12;
  holdingRegs[LGi] = 13;
  holdingRegs[LGiC] = 14;
  holdingRegs[CalibraGiEl] = 15;
  holdingRegs[LElMaMe] = 16;
  holdingRegs[LElCMaMe] = 17;
  holdingRegs[VelGiElminAl] = 18;
  holdingRegs[ZmGiEl] = 19;
  holdingRegs[T1] = 20;
  holdingRegs[T2] = 21;
  holdingRegs[TEWeb_AngPosSeg] = 22;
  
  //------------//
  holdingRegs[SV_Giro] = 23;
  holdingRegs[SV_Eleva] = 24;
  holdingRegs[FLOrdenes] = 25;
  
  //------------//
  holdingRegs[Ano] = 26;
  holdingRegs[MesDia] = 27;
  holdingRegs[HoraMin] = 28;
  
  holdingRegs[TOTAL_ERRORS] = modbus_update(holdingRegs); 
  
  for (byte i = 0; i < 29; i++)
   {
      Serial.print (holdingRegs[i]);
      Serial.print ("/");
    }
  Serial.println (TOTAL_REGS_SIZE);
  delay(1000);
}

forse ti potrebbe chiarire meglio come funziona la libreria.