零知开源软件库使用-ILI9341并口显示屏-Arduino中文社区 - Powered by Discuz! Archiver

零知实验室-roc 发表于 2018-8-3 20:03

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

本帖最后由 零知实验室-roc 于 2018-8-3 20:05 编辑

对于ILI9341的240x320屏幕,零知开源平台已经可以支持该显示屏的常用操作了,一个示例如下:
/**
*    文件: ili9341-并口显示.ino      by 零知实验室(www.lingzhilab.com)
*    -^^- 零知开源,让电子制作变得更简单! -^^-
*    时间: 2018/08/02 17:55
*    说明:
**/

#include "ili9341_parallel.h"

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

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

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

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

}


其显示效果如下:


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

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


零知开源软件库使用-ILI9341并口显示屏
http://www.lingzhilab.com/forum.php?mod=viewthread&tid=422&fromuid=2
(出处: 零知实验室)


nehc88 发表于 2020-2-28 20:38

学习一下去

广岛秋泽 发表于 2020-5-29 21:04

库可以分享一下吗
页: [1]
查看完整版本: 零知开源软件库使用-ILI9341并口显示屏