Bonjour,
mon board est relié à un PC via une UART. Je lui envois des float avec le code suivant :
unsigned int* memoryPtr = (unsigned int*)&x; buf[0] = (unsigned char)(((*memoryPtr)& 0xFF000000) >> 24); buf[1] = (unsigned char)(((*memoryPtr)& 0x00FF0000) >> 16); buf[2] = (unsigned char)(((*memoryPtr)& 0x0000FF00) >> 8); buf[3] = (unsigned char)((*memoryPtr) & 0x000000FF); Serial.write(buf,sizeof(float));
Côté PC je lis des float (en Java) mais ils ne correspondent pas à ce que j'envois...
Pourtant ça marche très bien avec des int (lecture de short en Java) :
unsigned int* memoryPtr = (unsigned int*)&x; buf[0] = (unsigned char)((*memoryPtr) >> 8); buf[1] = (unsigned char)((*memoryPtr) & 0x000000FF); Serial.write(buf,sizeof(int));
Quelqu'un a une idée???
Merci!