Scrittura esadecimale modbus

Buongiorno,
sto utilizzando la libreria seguente libreria per comunicare con un dispositivo attraverso appunto il modbus.
Sia la scrittura che la lettura con il dispositivo funziona in modo corretto, l'unico problema che possiedo è quello di inviare un dato convertito in IEE756 con lo "0x" davanti.

Ho provato a inserire il tutto all'interno di una variabile dichiarata come stringa ma la funzione che utilizzo non accetta stringhe.

  result = address1.writeSingleRegister(553, esadecimale);
  if (result != address1.ku8MBSuccess) {
    while (result > 0) {
      result = address1.writeSingleRegister(553, esadecimale);
      delay(5);
    }
  }

Dal solo pezzo che posti si capisce poco.

  1. La libreria che posti ha dentro solo un ModbusRtu.h che non ha dentro nessun comando .writeSingleRegister()
  2. stringa di che tipo ? classe String (da evitare) oppure stringa classica del C (array di char) ?
  3. personalmente non conosco IEE756, si trova qualcosa in wikipedia, ma se cerco in internet “modbus IEE756” non salta fuori nulla (ma proprio nulla). Sicuro di cosa devi spedire ?

Dottarduino:
l'unico problema che possiedo è quello di inviare un dato convertito in IEE756 con lo "0x" davanti.

Cosa sarebbe "IEE756"? Forse intendi IEEE-754 che indica la rappresentazione di valori floating point ossia QUESTO?

In ogni caso mi sa che devi chiarirci meglio cosa intendi fare, e come...

Non capisco, le librerie che uso per modbus (ma su PC, per dialogare con dei PLC) hanno le funzioni per scrivere/leggere i registri anche con numeri con le virgole. Gli passo un numero in virgola e ci pensa la lib a convertire il numero in formato corretto. (esempio libreria open libnodave-0.8.5 c'e' daveGetFloatAt oppure daveToPLCfloat con i sorgenti in C)
esempio la daveToPLCfloat fa qualcosa del genere (inverte i byte):

void daveToPLCfloat(float ff) {
  union {
    float a;
    uc b[4];
    int c;
  } f;
   uc c;
   f.a=ff;
   c=f.b[0];
   f.b[0]=f.b[3];
   f.b[3]=c;
   c=f.b[1];
   f.b[1]=f.b[2];
   f.b[2]=c;
}

Ma questo thread non è praticamente un duplicato di questo? Nel caso, si può rimuovere o chiudere?