我直接使用别人给我的工程先测试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);
#include
需要包含上面这个头文件,如果你的编译环境中缺少这一系列的文件,那么很有可能会解析失败
程序应该没有问题,第二张照片是对的吗?
如果不放心分开试下?
第一张是用我自己电脑CCS6.1版本将程序烧进单片机后上电的情况,第二张是用别人电脑5.5版本烧同样程序上电的结果,但是如果把程序中显示浮点数的%f改成显示整型的%d,又能正常显示0了
还有分开是指什么
本帖最后由 多大点事er 于 2016-4-28 12:31 编辑
环境是指CCS的版本问题吗,头文件的话上面图中两种显示程序是完全一样的,所以包含的头文件也是相同的,现在问题就好像是浮点数类型不能显示一样
好像确实是版本问题,我重下了个5.5的,程序烧进去就有用了,但是在stdio.h里面,两个scanf完全相同的