[求助] 用430f5529做12864显示的测试时,对%f不能正确显示

多大点事er   2016-4-27 20:25 楼主
我直接使用别人给我的工程先测试12864能不能成功显示,结果在同一块单片机上,使用同一个程序,别人烧录后,显示屏能正常显示数字“0”,而我自己烧录后,对于%f的部分就不能将数据带入,变成直接显示一个“f”字符。
我和别人全部的区别就只有他是CCS5.5,我是6.1,会是这个原因吗
显示部分的代码在下面
            t=(ct+65535*y)/1000;//算出时间,单位ms
            d=t*0.17;//单位mm
//                     clrddram();
                     sprintf(tab_SPI1,"时间为%.1f:ms",t);
                     lcd12864_disp_str(1,1,tab_SPI1);
                     sprintf(tab_SPI2,"距离为%.3f:m",d);
                     lcd12864_disp_str(1,2,tab_SPI2);

回复评论 (10)

2推荐 qiushenghua 

#include

需要包含上面这个头文件,如果你的编译环境中缺少这一系列的文件,那么很有可能会解析失败
点赞  2016-4-28 10:53
附上照片
  • 20160427_204523.jpg
  • 20160427_204720.jpg
点赞  2016-4-27 20:48
程序应该没有问题,第二张照片是对的吗?
如果不放心分开试下?
点赞  2016-4-28 10:48
和环境以及头文件是否载入有关系
点赞  2016-4-28 10:51
引用: maylove 发表于 2016-4-28 10:48 程序应该没有问题,第二张照片是对的吗? 如果不放心分开试下?
第一张是用我自己电脑CCS6.1版本将程序烧进单片机后上电的情况,第二张是用别人电脑5.5版本烧同样程序上电的结果,但是如果把程序中显示浮点数的%f改成显示整型的%d,又能正常显示0了 20160428_122938.jpg 还有分开是指什么 本帖最后由 多大点事er 于 2016-4-28 12:31 编辑
点赞  2016-4-28 12:30
引用: qiushenghua 发表于 2016-4-28 10:51
和环境以及头文件是否载入有关系

环境是指CCS的版本问题吗,头文件的话上面图中两种显示程序是完全一样的,所以包含的头文件也是相同的,现在问题就好像是浮点数类型不能显示一样
点赞  2016-4-28 12:33
难道两个版本的sprintf函数有区别??你看下,或者把工程传上来,我看下
点赞  2016-4-28 16:32
引用: 数码小叶 发表于 2016-4-28 16:32
难道两个版本的sprintf函数有区别??你看下,或者把工程传上来,我看下

好像确实是版本问题,我重下了个5.5的,程序烧进去就有用了,但是在stdio.h里面,两个scanf完全相同的
点赞  2016-4-29 13:28

宜搜

顶顶。。。
点赞  2016-5-3 15:48
楼主能不能把代码分享一下啊
点赞  2016-7-21 20:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复