Vi aggiorno con i miei progressi. Inanzi tutto ho cambiato librerire, adesso uso quelle in allegato. Per fare una prova ho messo da parte i due chip rs485 e collegato i due arduini tramite seriale diretta. Risultato? Funziona, i due arduini comunicano, il master riesce a scrivere e leggere lo slave tramite protocollo ModBus.
Il problema è che non mi funziona con le due 485, è come se il master leggesse solo metà risposta dello slave. Come ha scritto leo72 le due librerie implementano la "pulizia" del registro UCSRXA (con X il numero della seriale, dalle informazioni che ho trovato in rete sembra sia corretto).
Un dubbio, come comando io uso un solo pin dell'arduino per comandare la 485, dove ho i due pin RE e DE "ponticellati".
PS: uso il primo file sullo slave, il secondo come master.
Modbus.cpp (21.7 KB)
ModbusMaster.cpp (26.6 KB)