Buongiorno a tutti,
è la prima volta che scrivo in questo forum.
Da pochi mesi mi sto addentrando nel mondo di arduino con molta soddisfazione.
Sto realizzando un controllo per automatizzare la gestione delle taparelle di casa e in particolare ho pensato di utilizzare il protocollo ModBus RTU per interfacciare le varie taparelle.
Ho provato ad usare la seguente libreria
https://github.com/smarmengol/Modbus-Master-Slave-for-Arduinoma ho dei problemi col calcolo del crc nel messaggio di rispost dello slave.
per testare l'hardware ho utilizzato l'esempio Simple_Slave modificando la configurazione come segue
Modbus slave(1,2,2); // this is slave @1 and RS-232 or USB-FTDI
per potere usare la seconda seriale e il pin R/T.
Ho utilizzato il software qModMaster per testare la comunicazione ma il mio slave trasmette sempre un CRC non corretto.
Riporto un esempio per la lettura di un singolo registro:
TX: 01 03 00 00 00 01 84 0A
RX: 00 01 03 02 00 65 78 6F 00
Verificando con un tool per il calcolo del crc online
gli ultimi due byte della stringa di risposta dovrebbero essere BF 40 e non 6F 00.
Prima di verificare se era un errore nella libreria volevo sapere se vi era mai capitato o se sono io a sbagliare qualcosa.
Grazie a tutti