打印
[AVR单片机]

sprintf()输出小数点问题!

[复制链接]
3596|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sprintf(str, "%3d  %4d  %3.1f", maxCurrent ,ECheckCurrent1 ,avgCurrent1Float);
使用sprintf()怎样将小数点输出; 看了好多官方与论坛的资料,
是链接了libprintf_flt.a  libm.a  link option:-Wl,-u,vfprintf   -lprintf_flt 和 -lm;

就增加了这些,但还是显示一个问号;

1.png (40.57 KB )

链接库

链接库

2.png (43.05 KB )

在Linker options这里增加

在Linker options这里增加

相关帖子

沙发
lin196@21cn.com|  楼主 | 2015-11-10 09:42 | 只看该作者
自己顶顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

使用特权

评论回复
板凳
huangxz| | 2015-11-10 15:37 | 只看该作者
你能保证你那个是浮点数吗

使用特权

评论回复
地板
lin196@21cn.com|  楼主 | 2015-12-22 09:48 | 只看该作者
能保证是浮点数,我特意直接先付一个浮点数给“avgCurrent1Float”,当时,我前面肯定是定义为 float类型!

使用特权

评论回复
5
shaoziyang| | 2015-12-22 11:28 | 只看该作者
http://winavr.scienceprog.com/avr-gcc-tutorial/using-sprintf-function-for-float-numbers-in-avr-gcc.html

试试这个

使用特权

评论回复
6
lin196@21cn.com|  楼主 | 2015-12-30 15:34 | 只看该作者
谢谢,楼上的方法我之前查找过,就是根据这个方法去做也不成功!现在只能换一种方法去做解决了。。。不过这个问题慢慢去研究....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

26

帖子

1

粉丝