在液晶上显示浮点数的方法
思路很简单就是将浮点数用sprintf函数转化成字符串,然后用显示字符串函数将其显示就行了。假设你的液晶驱动函数中显示字符串函数是PutString(unsigned char x,unsigned char y,unsigned char *p)。
显示浮点数的函数就可以如下:
void ShowFloat(unsigned char x,unsigned char y, float num)
{
char chFloat;
sprintf(chFloat,"%.3f",num); //将浮点型num转化成字符串到chFloat,默认输出6位小数点,不足就补零,".3"表示3位小数
PutString(x,y,(unsigned char *)chFloat);
}
这方法不用去考虑浮点数的大小,不管多大或多小都可以方便的在液晶上显示了 mark 非累死51不可 icc 可以用 "%.3f",吗、 谢谢楼主
这个函数以前没有接触过
谢谢 mark
可能有用 mark!! 用单片机做sprintf效率相当低的……转换时间比刷屏时间长好多
其实可以做通用性差一些但效率高的函数,自己用乘除法转换成字符串 我在M16上是通过自己写的一个函数来专门作类似工作的 我也都是自己转。 ftoa
标准库函数... 以前也用过这个函数东东,但是总是闪烁,不知道什么原因,有高手愿意解释一下吗? 计算量太大 这样用不会有问题的,所谓时间不够一般都是程序结构有问题。
使用printf程序
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_481215.jpg
(原文件名:工厂配置程序.jpg)
液晶效果
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_481216.jpg
(原文件名:工厂配置画面.jpg) 问一下楼上,直接执行“printf”语句就能在液晶上显示内容了? 【14楼】 ylei12
积分:793
派别:
等级:------
来自:
问一下楼上,直接执行“printf”语句就能在液晶上显示内容了?
本贴被 ylei12 编辑过,最后修改时间:2009-09-15,17:17:31.
------------------------------------------------------------------
是这样,改写接口程序putchar就可以了
原则上库函数有的,不自己写。 mark mark 强帖留名 收藏 收藏 回复【13楼】makesoft
-----------------------------------------------------------------------
你这个字体挺好看的,是多少*多少的啊? mark 下 mark 受教了 待会试试 mark,虽然这样用了,但是还是出了个莫名其妙的错误 mark,可能会用上!@
页:
[1]