[应用相关] 关于snprintf函数-小数点的输出结果不正确

[复制链接]
3724|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

粉丝
快速回复 在线客服 返回列表 返回顶部