本帖最后由 lanzeex 于 2011-10-14 14:21 编辑
各位大虾,小弟在MKD4.22下使用printf("test:%f3.1",f)【f值位50.3】软件仿真时能够正常输出,接上串口则仅输出test:,以后的输出均无,这是什么缘故啊?谢谢! ...
lanzeex 发表于 2011-10-14 10:26 
在ARM网站上看到,
2.15.4. printf()
printf() 始终完全符合 ISO C89 标准。 它还会有选择地支持 C99 中定义的其他格式指令,即,%a 和 %A(用于十六进制浮点)以及 %E、%F 和 %G(作为 %e、%f 和 %g 的大写版本)。缺省情况下,不包含这些 C99 格式指令。
要在 printf() 中启用 C99 功能,您必须指定 #pragma import(__use_c99_library)。这会影响 printf() 和 scanf() 系列中的所有函数。我加入后问题依旧....
勾选use MicroLib 且优化等级为level1时,软件仿真可以正常输出。。硬件无输出
|