单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:10091|回复:12

零知开源软件库使用-ILI9341并口显示屏

 [复制链接]
ID:349555发表于 2018-8-3 20:02|显示全部楼层
对于ILI9341的240x320屏幕,零知开源平台已经可以支持该显示屏的常用操作了,一个示例如下:
  1. /**
  2. *   文件: ili9341-并口显示.ino     by 零知实验室
  3. *   -^^- 零知开源,让电子制作变得更简单! -^^-
  4. *   时间: 2018/08/02 17:55
  5. *   说明:
  6. **/

  7. #include "ili9341_parallel.h"

  8. //参数依次表示引脚:rs_pin, wr_pin, rd_pin, cs_pin, rst_pin, d0, d1, d2, d3, d4, d5, d6, d7
  9. ili9341_parallel_class display(15,16,17,18,19,0,1,2,3,4,5,6,7);

  10. // the setup routine runs once when you press reset:
  11. void setup() {
  12.    // put your setup code here, to run once:

  13.        display.begin();
  14.       
  15.        //用颜色清屏
  16.        display.clear(BLACK);
  17.       
  18.        //画实心矩形
  19.        display.drawBox(0,10,80,60,BLUE);//blue
  20.       
  21.        //画线
  22.        display.drawLine(0,80, 100,80, RED);
  23.       
  24.        //画圆
  25.        display.drawCircle(20,120,20,RED);
  26.       
  27.        //画空心矩形
  28.        display.drawFrame(0,130,90,140,GREEN);
  29.       
  30.        //显示ascii字符串
  31.        display.drawString(0,180,GRAYBLUE, "www.lingzhilab.com");
  32.       
  33.        //显示中文,参数:点的坐标、背景、字体颜色、大小:26/24、汉字
  34.        display.drawUTF8_ZH(0,200,BLACK,MAGENTA,16,"零知开源");
  35.        display.drawUTF8_ZH(10,250,BLACK,LIGHTBLUE,16,"让电子制作变得更简单");
  36. }

  37. // the loop routine runs over and over again forever:
  38. void loop() {
  39.    // put your main code here, to run repeatedly:

  40. }
复制代码
其显示效果如下:
在上面我们使用的接口是8位并口操作,可以进行常用图形的显示、字符串显示,以及中文显示,由于中文的字库较大,因此我们可以按照自己的需求加入中文字库。
下面主要说下如何加入自己的中文字体,主要修改软件库中的ili9341_font.h文件,因为我们使用的是utf-8编码格式,因此也可以显示其他外文字体。
1、我们先要制作字库(只需要加入自己需要的):
我们使用附件中的软件pctolcd工具制作:
打开软件后,在配置中选择如下:
194451a33zk2bqk3b9k9f0.png
然后我们在软件中填入自己需要显示的所有中文字符,并选择size大小(请选择16x16和24x24的),点击生成字模,再把生成的字模拷贝到ili9341_font.h文件中的Chinese_code[]数组中,如下:
194809uwahy8nz242ya8nw.png
2、我们需要制作汉字对应的UTF8编码表:
首先我们使用附件中的工具(utf8中文编码生成工具)来生成,我们只需要把你需要的所有汉字填写到该软件目录下的 text.txt 文件中(注意:text.txt文件要保证是一个utf8格式的),然后打开软件选择好汉字文件和utf8编码文件,如下:
195135xyhudgcmgmsbanig.png
点击生成编码,即可在coding.txt文件中生成汉字对应的utf8编码表,打开该文件复制编码表填入到ili9341_font.h文件中的Chinese_text[]数组中,如下:
195413wduwweysyujbewb8.png

经过上面的步骤我们就制作号了自己的汉字字库了,现在我们只需要使用display.drawUTF8_ZH();接口函数显示汉字就可以了。


附件请看原贴:
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0

(出处: 零知实验室)

ID:274294发表于 2018-11-12 18:22|显示全部楼层
好东西  学习以下  
ID:423117发表于 2018-12-3 16:47|显示全部楼层
本帖最后由 1429518370 于 2018-12-4 17:12 编辑

如何使用其他的显示器 比如   spi 接口的  
ID:478897发表于 2019-2-21 14:57来自手机|显示全部楼层
看看,值得试试
ID:280298发表于 2019-2-21 20:13|显示全部楼层
看上去很强大的样子啊……
ID:480668发表于 2019-2-25 22:24|显示全部楼层
好东西  学习以下  
ID:90970发表于 2019-9-11 16:00|显示全部楼层
不知道SPI接口的能不能使用
ID:20841发表于 2020-4-24 18:18|显示全部楼层
好东西  学习以下
ID:362666发表于 2020-5-30 00:01|显示全部楼层
谢谢分享~
ID:994352发表于 2021-12-30 13:34|显示全部楼层
最高可以驱动多大分辨率(或尺寸)的屏幕?
ID:795562发表于 2022-1-27 23:11|显示全部楼层
这个感觉很高级的,可以下载吗?
ID:106211发表于 2022-3-31 20:18|显示全部楼层
可以学习一下楼主的知识,字数不多,但还是要多打几个
ID:1062848发表于 2023-5-17 00:55来自手机|显示全部楼层
还是想学spi接口的显示屏

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网