0
sprintf(SBuff,"Float value %0.4f ",temp_float);
USART0_TransmitString(SBuff);
我也嘗試了%f,並且使temp_float變量double(%lf)。sprintf浮點和雙變量
但在Usart上我總是得到浮動值?代替temp_float值我得到問號。
sprintf(SBuff,"Float value %0.4f ",temp_float);
USART0_TransmitString(SBuff);
我也嘗試了%f,並且使temp_float變量double(%lf)。sprintf浮點和雙變量
但在Usart上我總是得到浮動值?代替temp_float值我得到問號。
AVR的sprintf()
不會默認實現浮點以節省閃存空間,您需要更改一些編譯器選項以實現此目的;
如果需要包括浮點轉換的全部功能 ,下列選項應使用:
輪候冊,-u,vfprintf -lprintf_flt -lm
全部細節被發現here。
+1很好地發現。 –
我們需要看看'SBuff'如何獲取它的值以及'temp_float'是如何聲明並賦值的。 –
@DavidSchwartz:同意。在修改之前,我會對此表示懷疑,因爲它不清楚,沒用。 –
@DavidSchwartz SBuff通過sprintf獲得價值 –