2016-09-29 41 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

这正是我需要的。我会在课堂上传播这个词。