Si no funciona lo que te comento puedes utilizar la forma que se ha comentado alguna vez en el foro: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207242838
Debería estar en español por aquí, pero no lo encuentro mirando por encima.
Prueba con esto, a ver que tal funciona.
int send(const float& value)
{
const int* p = (const int*)(const void*)&value;
for (int i = 0; i < sizeof(value)/sizeof(int); i++)
MODBUS.SEND(*p++);
return i;
}
int read(float& value)
{
int* p = (int*)(void*)&value;
for (int i = 0; i < sizeof(value)/sizeof(int); i++)
*p++ = MODBUS.READ();
return i;
}