- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 Eclipse IDE 对 STM32F0xx 探索板进行编程。尝试做一些数学运算,购买 TIM2 时钟计数器并将其除以 48000000 以得出一个时间段。
如果我将我的工作变量声明为 uint32_t,它会给我截断的答案。我想要的是一个十进制值,我原以为将其声明为 float 可以解决问题,但当我这样做时,什么也不会打印出来。
variable = (TIM2->CNT)/48000000;
trace_printf("%i",variable);
与 uint32_t 声明的变量一起使用,但是将占位符更改为 %f 或什至保留原样以进行 float 声明会产生 nada。是否需要将其转换为 float ?
我已经很久没有编写任何 C 代码了,我确信我在使用 CooCox 之前遇到过同样的问题,但我不记得当时的解决方案是什么。
最佳答案
TY @harmic! http://www.ece.uvic.ca/~brent/ceng355/printf.html
Printing Floating Point Numbers Using trace_printf
To enable the trace_printf to print floating point numbers do the following in your project.
- Under the projects menu item select properties option.
- Expand out the C/C++ Build Section and select the settings option.
- Now select the tab "Tool Settings". Under the section "Cross ARM C++ Linker" select Miscellaneous.
- Click the checkbox that says "Use float with nano printf (-u_printf_float).
- Now click apply and then OK.
- Rebuild your project and floating point numbers should now print.
Please see picture below for configuration settings and sample code with results.
这正是我所需要的。我会在类里面宣传该链接。
关于c - trace_printf 不适用于 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764433/
使用 Eclipse IDE 对 STM32F0xx 探索板进行编程。尝试做一些数学运算,购买 TIM2 时钟计数器并将其除以 48000000 以得出一个时间段。 如果我将我的工作变量声明为 uin
我是一名优秀的程序员,十分优秀!