Делаю так:
float data2;
unsigned int data;
.........
data2 = (float) data * 0.010986;
sprintf(flt_buf,"%6.2f",data2);
.........потом вывожу на ЛСД
когда у меня data = 0х7FFF (т.е. 32767) и после умножения почему то выходит число 240 (или 239,99, при использовании меньше знаковых чисел после запятой),а должно быть 360.
В Протеусе, в окошке AVR Variables, переменная data2 имеет адрес, но тип пишет Unspecified, что не дает возможность посмотреть ее состояние после операции умножения. см. Рис.
Пробовал вместо Float ставить Double, компилятор матюкаеться что даный тип поддерживается только в профешнал версии, хотя у меня вроде как крякнутая и пишет что профешнал, см Рис.
Люди добрые, подскажети плиз что делаю не так, и как посмотреть что в переменной data2


