打印
[应用相关]

关于snprintf函数-小数点的输出结果不正确

[复制链接]
2800|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tdi110|  楼主 | 2011-11-2 10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用snprintf把浮点型变量变换为char类型,用于LCD显示,代码如下:
float f_temp =678.353;
char temp[12];
snprintf(temp,12,"%11.3f",f_temp);
显示结果数字是正确的,可是小数点却不对,变成了X,后来又增加了文件,
编译后变为p。
这个语句在另一个项目里编译后运行是正确的,两个项目用的同一台电脑上的
同一个版本,只不过另一个项目文件比较小。
软件是:IAR6.10,单片用的是:STM32F103VE
CSTACK增加到了0xC00。HEAP:0X200.
不知道应该怎么解决?
沙发
tdi110|  楼主 | 2011-11-2 10:44 | 只看该作者
补充一下:如果在snprintf(temp,12,"%11.3f",f_temp);
上设置断点,运行几次后,也会有运行突然正确的时候,然后就会
一直显示正确,但复位后又会是错误的。感觉程序好像跑了一样,
但其它部分运行都是正确 的。

使用特权

评论回复
板凳
zlg2011| | 2011-11-26 15:48 | 只看该作者
这不可能是你的,逻辑有问题吧。

使用特权

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

本版积分规则

1

主题

13

帖子

0

粉丝