楼主: tonly0212

[已解决] KL46的IAR例程包中sprintf函数无法使用(已解决)

[复制链接]
  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
    发表于 2013-11-29 10:02:25 | 显示全部楼层 |阅读模式
     请教各位技术支持,为什么KL46基于IAR平台的例程中sprintf函数无法正常传递浮点数,转换整型的时候有警告。。。
    我知道答案 目前已有9人回答
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
     楼主| 发表于 2013-11-29 14:56:54 | 显示全部楼层

    RE:KL46的IAR例程包中sprintf函数无法使用

    请问各位技术有试这个问题吗?官方给的KL46的IAR例程中sprintf对float类型为什么不能用?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2013-12-2 16:30:46 | 显示全部楼层

    回复:KL46的IAR例程包中sprintf函数无法使用

    回复第 2 楼 于2013-11-29 14:56:54发表:
    请问各位技术有试这个问题吗?官方给的KL46的IAR例程中sprintf对float类型为什么不能用?
     
     

    使用Printf打印float类型数据,确实是不可以的,我这边有测试过!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
     楼主| 发表于 2013-12-8 19:26:56 | 显示全部楼层

    RE:KL46的IAR例程包中sprintf函数无法使用

    为什么?在不用自己写格式转换程序的情况下怎么解决啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2013-12-9 12:51:48 | 显示全部楼层

    回复:KL46的IAR例程包中sprintf函数无法使用

    回复第 4 楼 于2013-12-08 19:26:56发表:
    为什么?在不用自己写格式转换程序的情况下怎么解决啊。 

    关于浮点的操作,通常解决办法,可以在程序中将其转换为整形,及把小数点的个数给补上,然后再上位机中,再复原相关操作,即可得到相应的浮点数。
    希望能够帮到您!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
     楼主| 发表于 2013-12-10 09:33:36 | 显示全部楼层

    RE:KL46的IAR例程包中sprintf函数无法使用

    KL25例程里面是可以用的,在KL46中为什么不能能呢?改了什么地方啦?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2013-12-10 13:00:39 | 显示全部楼层

    回复:KL46的IAR例程包中sprintf函数无法使用

    回复第 6 楼 于2013-12-10 09:33:36发表:
    KL25例程里面是可以用的,在KL46中为什么不能能呢?改了什么地方啦? 

    你好,我发现可能和编译工具也有些关系。你说KL25例程可以,我试了下,在keil中同样的语句是可以打印出浮点,但是在IAR下是不可以打印的。
    所以,这里向你确认下,你用的KL25是keil还是IAR?
    如果可以,KL46你使用Keil试试是否可以。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2013-12-10 17:30:03 | 显示全部楼层

    RE:KL46的IAR例程包中sprintf函数无法使用

    最后确定是IAR编译器的问题,查了相关资料,是说在option中设置一下:
    General option中的library configuration ,libray 选为full
    library option 中的printf formatter 选择为full。
    原因如下:
    根本原因在于库中的printf, sprintf等函数的版本问题,由于支持全格式的时候占用的代码量和堆栈空间比较大,一般编译器默认都是实现标准甚至是最小的版本。
    在不同的平台上,几种不同的版本支持的格式不一样,举个例子:
    1)最小版本的printf仅支持整形格式化转义符%d以及字符串。

    2)标准版本的printf支持除浮点外的其他格式,比如hex等等
    3)全版本的printf支持所有格式包括%f浮点

    你可以试试。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-8-16 10:32
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    549

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1084
    最后登录
    2021-6-22
     楼主| 发表于 2013-12-12 17:18:01 | 显示全部楼层

    RE:KL46的IAR例程包中sprintf函数无法使用

    谢谢斑竹,你说的这个设置我之前就有改过,同样是无法打印,KL46的程序在Kill中是可以的,但在IAR中就是出错。之前用的FRDMKL25的例程在Kill和IAR都正常使用。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2013-12-12 17:23:33 | 显示全部楼层

    回复:KL46的IAR例程包中sprintf函数无法使用

    回复第 9 楼 于2013-12-12 17:18:01发表:
    谢谢斑竹,你说的这个设置我之前就有改过,同样是无法打印,KL46的程序在Kill中是可以的,但在IAR中就是出错。之前用的FRDMKL25的例程在Kill和IAR都正常使用。 

    是吗?你KL25的IAR能打印吗?我试了下,打印浮点,
    比如:
    float i=11.1;
    printf("%f",i);
    我在KL25代码中,keil是可以的,但是IAR就是出来一个f。
    你KL25可以的,是哪个代码?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 01:23 , Processed in 0.106797 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表