Hola y gracias por contestar,
mira estoy programando un microprocesador con bluetooth y usando la librería de bluetooth ,que me permite enviar en el payload información, adjunto la info pero en tipo unsigned char *.
cosa que con tu código vendría al pelo. Gracias.
Pero cuando leo los datos con otro programa de java como los interpreto de ahí mi pregunta.
lo que había pensado era: multiplicarlo, hacerle un cast a int y enviar 4 bytes.
recojo la información en el java y formo un int con los 4 bytes divido por 1000 y tendría el valor leído.
PD: dejo el codillo para la conversión
uint8_t * float2ArrayUint8(float value)
{
uint8_t output[] = {0,0,0,0};
uint32_t dataValue = (uint32_t) value * 1000;
output[0] = dataValue and 0x000F;
output[1] = dataValue and 0x00F0;
output[2] = dataValue and 0x0F00;
output[3] = dataValue and 0xF000;
return &output;
}