我正在为 SAM3N arm cortex-M3 微 Controller 编写 C 程序。当我尝试打印 float 时,它只打印“f”。
示例:printf("%f",43.12);
仅打印 f
,而不打印 43.12
。
但是用整数打印效果很好。
如何启用 float 的完整打印?我知道编译器默认情况下禁用浮点打印以减小代码大小(即,它们似乎链接了简化版本)。另外请注意,makefile 中没有使用 CFLAGS=-Dprintf=iprintf
。
工具详情:
- ARM/GNU C 编译器:(crosstool-NG 1.13.1 - Atmel 版本:13)4.6.1
- 上述工具随 Atmel studio 6.0 一起提供。
最佳答案
你能试试吗,在链接器设置中添加以下选项
-lc -lrdimon -u _printf_float
它在 ARM-CORTEXM0 中对我有用
关于c - arm-none-eabi-gcc : Printing float number using printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703307/