Buenas.
Por necesidades varias necesito coger un float y guardarlo como dos int (para transmitirlo por modbus); luego tengo que coger esos dos ints y volver a componer el float.
Dicho de otra manera.
-Crear un float
-Meter los dos primero bytes en un int
-Meter los dos segundos bytes en otro int
-transmitirlos por modbus (eso ya lo tengo en marcha)
-volver a componer el float en base a los dos ints
He echado un vistazo a las operaciones
#include <WProgram.h>
template <class T> int EEPROM_writeAnything(int ee, const T& value)
{
const byte* p = (const byte*)(const void*)&value;
int i;
for (i = 0; i < sizeof(value); i++)
EEPROM.write(ee++, *p++);
return i;
}
template <class T> int EEPROM_readAnything(int ee, T& value)
{
byte* p = (byte*)(void*)&value;
int i;
for (i = 0; i < sizeof(value); i++)
*p++ = EEPROM.read(ee++);
return i;
}
y se que aqui tengo la respuesta, pero no lo saco.
¿Alguna manita?
Gracias.