news 2026/5/25 15:23:13

ESP32搭建TFT_LCD中文字库,附常用字库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32搭建TFT_LCD中文字库,附常用字库

(一)简介
在使用ESP32的时候,我们知道OLED屏幕是有中文库的,里面有非常多的常用字,但是LCD屏幕只有取模才能得到中文字体,那我们本期教程就来教大家如何搭建自己的字体库,使用中文字体更加方便快捷。

注意,不是任何芯片都能这样搭建,如果芯片的储存不足,就会影响正常程序的下载和使用,因为ESP32最低有4MB的外置储存(能用3MB)所以对于常用字体是绰绰有余的

**ESP32TFT_LCD屏幕1700字常用字库下载
**https://mbb.eet-china.com/download/316558.html

(二)教程
首先,在系统内,找到喜欢的文字
C:\Windows\Fonts
复制到桌面,可以得到一个TTF结尾的文件

打开arduino TFT_eSPI库的文件夹
C:\Users\用户名\Documents\Arduino\libraries\TFT_eSPI\Tools\Create_Smooth_Font\Create_font
这个是TFT库自带的生成字库的软件

将字库放进data文件夹内,最好改个名字,不要中文
我这里改成了xem.TTF

然后要下载一个Processing-processing3.5.4软件,这个软件可以将TTF文件转换成我们需要的字库字体
下载地址:https://mbb.eet-china.com/download/316557.html


然后打开Create_font.pde
更改以下内容
130行fontName,这里写你字库的名字
132行fontType,这里写字库的后缀,必须分大小写
137行fontSize,这里是字体大小设置,16最佳
140行displayFontSize,这里也是字体大小设置,16最佳

浏览器打开编码工具
http://www.jsons.cn/unicode/
中文转Unicode编码
输入你想要的文字,或者直接给一个2000字的常用字库

打开文本替换工具,我们需要将格式转换一下
https://www.lddgo.net/string/text-replace
注意前面有个英文的逗号,删了
如:\u6076\u9b54\u6e29\u6e7f\u5ea6
替换:0x6076,0x9b54,0x6e29,0x6e7f,0x5ea6,0x6674

将替换后的内容,打开Create_font.pde
330行specificUnicodes

static final int[] specificUnicodes = {
复制到括号中间(最后一位记得加英文逗号)
}

点击左上角的三角形运行
然后如果没问题,会生成vlw文件
将这个文件放到桌面

然后用软件将vlw文件转成arduino可读的文件
https://tomeko.net/online_tools/file_to_hex.php?lang=zh
复制生成后的字符

ino文件夹里面创建一个font.h文件

自己写下面一段
const uint8_t xem_font[] PROGMEM = {
【将生成的字符复制过来】
};

引用一下字库文件

启用字体

tft.drawString(“多云大雨”,0,40);
会自动寻找有的字体,直接写就好了

注意,需要将ESP32的内存设置为3M

(三)效果演示

#include <Arduino.h>

  • #include <TFT_eSPI.h> // Hardware-specific library

  • #include <SPI.h>

  • //#define TFT_MOSI 23

  • //#define TFT_SCLK 18

  • //#define TFT_CS 5 // Chip select control pin

  • //#define TFT_DC 2 // Data Command control pin

  • //#define TFT_RST 4 // Reset pin (could connect to RST pin)

  • #include “xem_font.h”

  • TFT_eSPI tft = TFT_eSPI(); // Invoke custom library

  • void setup(void)

  • {

  • Serial.begin(115200);

  • tft.begin();

  • tft.fillScreen(TFT_BLACK);

  • tft.loadFont(xem_font);

  • }

  • void loop()

  • {

  • tft.setCursor(0,0);

  • tft.print(“aaa”);

  • tft.drawString(“大家好啊”,0,40);

  • }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 15:19:11

如何用YDFID-1数据集快速构建纺织缺陷检测模型:完整指南

如何用YDFID-1数据集快速构建纺织缺陷检测模型&#xff1a;完整指南 【免费下载链接】YDFID-1 Yarn-dyed Fabric Image Dataset Version1. From Zhang Hongwei, Artificial Intelligence Research Group, Xi an Polytechnic University. 项目地址: https://gitcode.com/gh_mi…

作者头像 李华
网站建设 2026/5/25 15:18:41

布局开挂!Flex弹性盒子玩转页面!(全网最详细教学)

Flex弹性盒&#xff1a;指的是规则可变的父盒&#xff0c;此时对诸多子盒的布局&#xff0c;变成为父盒制定排序规则。&#xff08;一&#xff09;Flex 布局核心概念与机制Flexbox 是 CSS3 引入的一种一维布局模型&#xff0c;旨在提供更高效的方式来布局、对齐和分配容器内项目…

作者头像 李华
网站建设 2026/5/25 15:16:45

WSABuilds终极指南:在Windows 10/11上轻松运行Android应用

WSABuilds终极指南&#xff1a;在Windows 10/11上轻松运行Android应用 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root…

作者头像 李华
网站建设 2026/5/25 15:16:45

从API密钥管理界面看Taotoken在安全与权限管控上的设计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从API密钥管理界面看Taotoken在安全与权限管控上的设计 对于需要接入多个大模型服务的开发者而言&#xff0c;API密钥的管理是日常…

作者头像 李华