野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9698|回复: 14

如何使用液晶显示整型、浮点型变量

[复制链接]
发表于 2016-8-6 09:03:27 | 显示全部楼层 |阅读模式
经常有用户咨询如何使用液晶屏来显示整型、浮点型变量,其实我们的例程已经提供这样的示例了,可能大家没留意到,在这里放出来一起学习下。

在我们的液晶驱动里已经提供了显示字符串的函数,但没有专用于显示数字的函数,实际有显示字符串的函数就够了。

下面是显示数字、整型、浮点型变量的思路:

1.使用C语言标准库里的函数sprintf把变量格式化成字符串;
  sprintf的用法与printf函数类似,是C库里自带的

2.调用液晶的显示字符串函数显示第一步生成的字符串;
  调用时与显示普通的字符串方式无异

示例代码如下:
  1. //spritnf的头文件
  2. #include <stdio.h>

  3. int main(void)
  4. {

  5.   //用于存储格式化后字符串的数组
  6.   char cStr [ 10 ];
  7.         
  8.   //要显示的变量
  9.   uint32_t ulCount;
  10.   
  11.   //循环显示该变量
  12.         for ( ulCount = 0; ulCount <= 1000000; ulCount ++ )
  13.         {
  14.    
  15.     //sprintf把ulCount的值格式化到字符串里的%d位置,格式化的结果存储在cStr中
  16.     //要转换浮点型变量可以使用 %f ,格式化语法与printf完全相同
  17.                 sprintf ( cStr, "you can add other text here, value =  %d", ulCount );
  18.                
  19.     //显示字符串,把cStr作为输入进行显示。以下函数是液晶的字符串显示函数,可根据自己的液晶驱动修改
  20.                 ILI9341_DispString_EN ( 100, 100, cStr, BACKGROUND, RED );
  21.                
  22.                 Delay ( 1000000 );
  23.                
  24.         }        
  25. }
  26.   
复制代码


下面是使用F103霸道开发板的液晶显示变量例子,示例在main文件里:
F103霸道-使用液晶显示变量的例子.zip (370.26 KB, 下载次数: 539)


本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2016-8-6 11:27:03 | 显示全部楼层
显示效果如下
1.jpg
回复 支持 1 反对 0

使用道具 举报

发表于 2016-8-6 09:15:05 | 显示全部楼层
原来可以这样,真方便啊
回复 支持 反对

使用道具 举报

发表于 2016-8-6 11:35:36 | 显示全部楼层
ILI9341_DispString_EN 是什么功能的函数?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-6 11:38:33 | 显示全部楼层
青竹 发表于 2016-8-6 11:35
ILI9341_DispString_EN 是什么功能的函数?

就是液晶驱动里的显示字符串函数
回复 支持 反对

使用道具 举报

发表于 2016-8-6 13:49:37 | 显示全部楼层
jack_zhou 发表于 2016-8-6 13:46
玩过c++都知道,将数字变成字符串来稿,

没有玩过C++,额   。。。。
回复 支持 反对

使用道具 举报

发表于 2016-8-6 13:51:06 | 显示全部楼层
flyleaf 发表于 2016-8-6 11:38
就是液晶驱动里的显示字符串函数

这个函数是你写的工程里面自己写的吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-6 14:29:43 | 显示全部楼层
青竹 发表于 2016-8-6 13:51
这个函数是你写的工程里面自己写的吧!

我们所有的液晶驱动里都有显示字符串的函数啊,可能不叫这个名字,但绝对有显示字符串的函数
回复 支持 反对

使用道具 举报

发表于 2016-8-6 15:54:23 | 显示全部楼层
只用过printf,而sprintf昨天看到一次,今天看到第二次。。。。。
回复 支持 反对

使用道具 举报

发表于 2016-8-6 16:08:25 | 显示全部楼层
星飞啊 发表于 2016-8-6 15:54
只用过printf,而sprintf昨天看到一次,今天看到第二次。。。。。

我看你是心都飞了吧,顶顶顶
回复 支持 反对

使用道具 举报

发表于 2016-8-6 16:45:56 | 显示全部楼层
jack_zhou 发表于 2016-8-6 13:46
玩过c++都知道,将数字变成字符串来稿,

那你这么牛逼你咂不上天呢,咂不与太阳齐飞呢。
回复 支持 反对

使用道具 举报

发表于 2016-8-6 17:03:30 | 显示全部楼层
请问这个格式转换不能直接转换数组里面的值吗?
QQ图片20160806170246.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-6 17:48:24 | 显示全部楼层
遗失的丶天真 发表于 2016-8-6 17:03
请问这个格式转换不能直接转换数组里面的值吗?

ADC变量用一个二维数组,因为它是一个字符串
回复 支持 1 反对 0

使用道具 举报

发表于 2016-8-6 17:56:24 | 显示全部楼层
flyleaf 发表于 2016-8-6 17:48
ADC变量用一个二维数组,因为它是一个字符串

还是报错啊
123.png
回复 支持 反对

使用道具 举报

发表于 2019-9-11 13:37:58 | 显示全部楼层
真不错   
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-20 08:25 , Processed in 0.043180 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表