【经验分享】Kinetis IAR工程下无法打印浮点的问题解决

2020-02-20 21:05发布

本帖最后由 FSL_TICS_Robin 于 2014-7-18 14:30 编辑

【经验分享】Kinetis IAR工程下无法打印浮点的问题解决
一,问题描述
大家在使用kinetis IAR工程,并且想使用printf打印出浮点变量的时候,会发现打出来的浮点结果只有f,而使用Keil工程就能够正确打印。网上有很多的说法,其中说的最多的就是设置IAR的Library options 下printf formatter为full功能,如下图:
4.jpg (64.61 KB, 下载次数: 0) 下载附件 2014-7-11 15:18 上传
图4

5,在common.h的头文件中添加stdio.h,如下:
#include "stdio.h"

6,检查write.c,read.c中的串口发送函数和工程驱动包中uart.c的定义是否一致,如果不一致需要修改成uart.c定义的形式。
经过上面的配置,加入浮点代码,就可以打印浮点数了。
同样如问题描述中的定义,打印出的结果如下:
temp=36.500000

可以看到以及能够成功打印。
其余的KE,K,KV的修改方法都是一样的,大家可以自行测试。

三,附件分享
为了防止大家在修改过程中出现问题,这里给大家一些参考工程,分别给出KL,KE,以及KV系列的,K系列的大家可以参考50M的代码:KINETIS_50MHZ_SC。
【经验分享】Kinetis IAR工程下无法打印浮点的问题解决.pdf (291.49 KB, 下载次数: 10) 2014-7-11 15:18 上传 点击文件名下载附件

KE_IAR_float.rar (244.69 KB, 下载次数: 7) 2014-7-11 15:18 上传 点击文件名下载附件

KL25_IAR_float.rar (370.52 KB, 下载次数: 5) 2014-7-11 15:18 上传 点击文件名下载附件

KV_IAR_float.rar (607.38 KB, 下载次数: 4) 2014-7-11 15:18 上传 点击文件名下载附件

semihosting.rar (2.04 KB, 下载次数: 6) 2014-7-11 15:18 上传 点击文件名下载附件




PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。