2016-09-29 24 views
2

使用Eclipse IDE編程STM32F0xx發現板。試圖做一些數學購買TIM2時鐘計數器並將其除以48000000以在一段時間內到達。trace_printf不能與浮動工作

如果我宣佈我的工作變量uint32_t的它給我的答案被截斷。我想要的是一個十進制值,我會認爲將其聲明爲浮點數可以解決問題,但是當我這樣做時沒有任何打印。

variable = (TIM2->CNT)/48000000; 
trace_printf("%i",variable); 

作品與uint32_t的聲明的變量然而改變佔位符到%F或即使在離開作爲爲浮動聲明產生納達。它是否需要作爲浮動投射?

它這麼久,因爲我所做的任何C代碼,我敢肯定我已經使用CooCox前時,這個相同的問題,但我不記得什麼解決辦法是當時的情況。

+3

你見過這個http://www.ece.uvic.ca/~brent/ceng355/printf.html – harmic

+0

@harmic - 你應該張貼它作爲一個答案。 –

回答

0

TY @harmic! http://www.ece.uvic.ca/~brent/ceng355/printf.html

輸出浮點數使用trace_printf

爲了使trace_printf打印浮點數做在你的項目如下。

  • 在項目菜單項中選擇屬性選項。
  • 展開C/C++構建部分並選擇設置選項。
  • 現在選擇標籤「工具設置」。在「交叉ARM C++鏈接器」部分下,選擇其他。
  • 上點擊「使用浮球隨納米的printf(-u_printf_float)複選框。
  • 現在點擊應用,然後確定。
  • 重建項目和浮點數現在應該打印。

請參見下圖對配置設置,並用結果的樣本代碼。

enter image description here

這正是我需要的。我會在課堂上傳播這個詞。