Функция Wire.write(data) умеет отправлять только один байт (байт - число от 0 до 255). ДЛя отправки Integer необходимо его разбить на два байта
Код: Выделить всё
byte hB = highByte(data );
byte lb = lowByte( data );
и отправлять их по очереди. На принимающей стороне собрать обратно
ну и естественно надо подумать как всё это синхронизировать. Вообще я думаю есть смысл попробывать перенести логику модбас на I2C, он так неплохо вроде вписывается, но это попозже
Автор программы FLProg.