Переменные типа float можно разложить на байты с помощью union. Передать полученные 4 байта по uart-у на комп. Затем, на компе, обратно собрать в переменную типа float.
Например: Создаём такой тип:
typedef union { float ft; unsigned char bt[4]; }MyType;
Объявляем переменные: MyType tmp; float f; unsigned char b[4];
Перед передачей раскладываем float на байты:
tmp.ft = f; b[0] = tmp.bt[0]; b[1] = tmp.bt[1]; b[2] = tmp.bt[2]; b[3] = tmp.bt[3];
И теперь в uart кидаем полученные байты b[0],b[1],b[2],b[3]
На компе, по такому же принципу, получаем из 4-х байт float.
|