В контроллере (STM32F407) раскладываю float в массив:
Код
void float_to_buf_tx (float data)
{
tempBuf[3]= ((unsigned char*)&(data))[3];
tempBuf[2]= ((unsigned char*)&(data))[2];
tempBuf[1]= ((unsigned char*)&(data))[1];
tempBuf[0]= ((unsigned char*)&(data))[0];
}
{
tempBuf[3]= ((unsigned char*)&(data))[3];
tempBuf[2]= ((unsigned char*)&(data))[2];
tempBuf[1]= ((unsigned char*)&(data))[1];
tempBuf[0]= ((unsigned char*)&(data))[0];
}
Далее массив отправляется в приложение, изготовленное с помошью Visual Studio 2010.
Пытаю собрать float обратно:
Код
temp = Convert.ToSingle((mydata[3] << 24) + (mydata[2] << 16) + (mydata[1] << 8) + mydata[0]);
label55.Text = Convert.ToString(temp);
label55.Text = Convert.ToString(temp);
В итоге получается не то число, что должно быть. Понятно что что-то делаю неправильно. Вот хочу спросить как правильно? Спасибо.