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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6795|回复: 2

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

[复制链接]
发表于 2018-8-3 20:03 | 显示全部楼层 |阅读模式
本帖最后由 零知实验室-roc 于 2018-8-3 20:05 编辑

对于ILI9341的240x320屏幕,零知开源平台已经可以支持该显示屏的常用操作了,一个示例如下:
[mw_shl_code=cpp,true]/**
*    文件: 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:

}
[/mw_shl_code]

其显示效果如下:
122.jpg

在上面我们使用的接口是8位并口操作,可以进行常用图形的显示、字符串显示,以及中文显示,由于中文的字库较大,因此我们可以按照自己的需求加入中文字库。
下面主要说下如何加入自己的中文字体,主要修改软件库中的ili9341_font.h文件,因为我们使用的是utf-8编码格式,因此也可以显示其他外文字体。
1、我们先要制作字库(只需要加入自己需要的):
我们使用附件中的软件pctolcd工具制作:
打开软件后,在配置中选择如下:

然后我们在软件中填入自己需要显示的所有中文字符,并选择size大小(请选择16x16和24x24的),点击生成字模,再把生成的字模拷贝到ili9341_font.h文件中的Chinese_code[]数组中,如下:

2、我们需要制作汉字对应的UTF8编码表:
首先我们使用附件中的工具(utf8中文编码生成工具)来生成,我们只需要把你需要的所有汉字填写到该软件目录下的 text.txt 文件中(注意:text.txt文件要保证是一个utf8格式的),然后打开软件选择好汉字文件和utf8编码文件,如下:

点击生成编码,即可在coding.txt文件中生成汉字对应的utf8编码表,打开该文件复制编码表填入到ili9341_font.h文件中的Chinese_text[]数组中,如下:


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


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


发表于 2020-2-28 20:38 来自手机 | 显示全部楼层
学习一下去
发表于 2020-5-29 21:04 | 显示全部楼层
库可以分享一下吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:34 , Processed in 0.086372 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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