我配置了Atmel的ARM的Cortex M0的UART在控制台打印字符串和整数使用std C函数printf()的爱特梅尔工作室7打印在ARM的Cortex M0 UART控制台中使用printf()的浮点数
案例我
我试图让printf()的函数型打印浮点值,并为我跟着以下的建议可以这样做:
arm-none-eabi-gcc : Printing float number using printf
,后来我编辑/在不同的时间分别添加下列文本链接标志:
-lc -u _printf_float
-lc -lrdimon -u _printf_float
案例二
虽然我听不懂他们说的一切,但我跟一些建议编辑makefile也来自这个论坛。
Printf/Sprintf for float point variables not working
并添加以下文本生成文件内
ldflags-gnu-y += -lc -u _printf_float
生成文件路径(爱特梅尔工作室7,使用ASF):../src/ASF/sam0/utils/make/Makefile。 sam.in
现在我用printf()的用于打印浮点数作为main.c中:
float a = 345.65412;
char buffr[20];
/* --- Print Float using printf only --- */
printf("Float Number 1 : %f\r\n", a);
/* --- Print Float using sprintf ---*/
sprintf(buffr, "Float Number (Using Sprintf) : %3.3f\r\n", a);
printf(buffr);
输出在UART控制台应用程序:
案例一:
Float Number 1 : 2.000000
Float Number (Using Sprintf) : -0.000
案例二:
Float Number 1 :
Float Number (Using Sprintf) :
有谁知道配置连接,使的printf() ,sprintf()或vprintf()用于在Atmel Studio 7的ARM Cortex M0(SAM B 11)控制台上打印浮点数?
其他一些环节我也跟着,我可以不上的问题包括: [printf的与armgcc支持浮点运算(http://atmel.force.com/support/articles/en_US/FAQ/Printf-with-floating-point-support-in-armgcc) [使用sprintf,gcc-arm-none-eabi,nRF51822](https://devzone.nordicsemi.com/question/5076/using-floats-with-sprintf-gcc-arm-none-eabi-nrf51822 /) – mrUnfused