我配置了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