TFT屏幕在arduino (esp 32)下的驱动,汉字显示和字库比较

news2025/1/13 6:14:18

一、TFT屏幕的驱动列表支持

绝大多数的tft屏幕在esp32 下都可以被 TFT_eSPI 驱动显示,以下清单中的驱动模块都可以用tft_espi来显示:

// #define ILI9341_DRIVER       // Generic driver for common displays
//#define ILI9341_2_DRIVER     // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172
#define ST7735_DRIVER      // Define additional parameters below for this display
//#define ILI9163_DRIVER     // Define additional parameters below for this display
//#define S6D02A1_DRIVER
//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI
//#define HX8357D_DRIVER
//#define ILI9481_DRIVER
//#define ILI9486_DRIVER
//#define ILI9488_DRIVER     // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high)
//#define ST7789_DRIVER      // Full configuration option, define additional parameters below for this display
//#define ST7789_2_DRIVER    // Minimal configuration option, define additional parameters below for this display
//#define R61581_DRIVER
//#define RM68140_DRIVER
//#define ST7796_DRIVER
//#define SSD1351_DRIVER
//#define SSD1963_480_DRIVER
//#define SSD1963_800_DRIVER
//#define SSD1963_800ALT_DRIVER
//#define ILI9225_DRIVER
//#define GC9A01_DRIVER

上面的驱动表基本囊括了主要的TFT显示模块,所以除非不在这个清单中,所以别找第三方驱动了。

二、TFT模块的汉字显示方式和字库调用

在TFT_eSPI 的官方系统中提供了processing 这个工具用来生成汉字字库,有些文档介绍的过程是:

1,先用processing生成xxx.vlw 格式的文件;

2,访问 File to hex converter 生成一堆16进制的字符;

3,然后把字库转换成xxx.h文件在单片机中调用;

其实这个过程是完全误导,第一步processing生成的vlw文件是可以直接在单片机中被调用的;

1,把xxx.vlw放在platfomio项目下创建的data目录

 2,把vlw文件上传到单片机的flash空间中

 3,直接在代码中进行调用:

  tft.begin();
  tft.setRotation(1);
  tft.fillScreen(TFT_BLACK);
  tft.setTextColor(TFT_GREEN);
  tft.loadFont(simsun12);
//注意上面的simsun12就是对应的simsun12.vlw文件
  tft.println("happy hahaha ");
  tft.println("we care我们必须努力.");
  tft.unloadFont();

tft会自己使用相关的文件系统LittleFS 之类的去读取字库文件

TFT_eSPI  的github示例中有相关的详细使用代码。

调用vlw做的字库文件比进行转换的方式简单多了。

三、TFT_eSPI  各种字库的比较

经过对vlw文件的调用代码的分析,发觉:vlw字库的存储方式其实存的是图片,processing 在创建字库时显示的那种图片就是存的字库文件。

它的字库调用就是到这个图片上动态取模。

上面当然是题外话。

那么vlw格式和.h格式的字库基本都是采取存进flash空间。经过测试:同等数量的汉字GB2312字符集 采取宋体12号字建立字库:

vlw字库文件是 1118KB;

.h字库文件是 1.39M

vlw文件是可以正常上传到单片机的,而.h字库文件已经不能使用了:

 所以,推荐使用vlw格式的字库文件,不论是使用整个gb2312字符集还是个别汉字都推荐vlw格式字库文件。

当然个人还是觉得vlw文件格式太大了,自定义了一个字库文件,这个文件同等汉字,并且16号字体只有508k,而12号字体只有400k不到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

借助国内ChatGPT平替+MindShow,飞速制作PPT

系列文章目录 后续补充 文章目录 系列文章目录前言一、科大讯飞“星火”认知大模型介绍二、使用步骤1.借助讯飞星火生成ppt的文案2.借助MindShow生成ppt 前言 随着人工智能技术的不断发展,越来越多的企业和个人开始利用自然语言处理技术来提高工作效率。其中&#…

【移动端网页布局】flex 弹性布局 ⑥ ( 设置主轴方向和是否自动换行 | flex-flow 样式说明 | 代码示例 )

文章目录 一、设置主轴方向和是否自动换行 : flex-flow 样式说明1、flex-flow 样式2、flex-flow 样式属性值 二、代码示例 一、设置主轴方向和是否自动换行 : flex-flow 样式说明 1、flex-flow 样式 flex-flow 样式 是 flex-direction 属性和 flex-wrap 属性的 复合写法 ; 设置…

Redis底层结构

https://mp.weixin.qq.com/s/MGcOl1kGuKdA7om0Ahz5IA 小林coding 介绍 Redis 数据结构并不是指 tring(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Zset(有序集合&am…

日撸 Java 三百行day43-44

文章目录 说明day43 插入排序思路代码 day44 希尔排序思路代码 对比 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledat…

磁盘空间不足怎么办?释放磁盘空间的4种方法

虽然现在硬盘的空间越来越大,但是在这个数据爆炸的时代中,总是会觉得存储空间不够用,一不注意磁盘就满了,那么除了清空回收站、卸载某些程序外,还能怎么释放磁盘空间呢? 方案一:禁用休眠 休眠是…

KD305Y带吸收比极化指数兆欧表

一、概述 KD305Y绝缘电阻测试仪对众多的电力设备如:电缆、电机、发电机、变压器、互感器、高压开关、避雷器等要求做一系列的绝缘性能试验,首先是要做绝缘电阻测试。近年来随着电力事业的飞速发展,大容量设备的使用不断增加,用普通的兆欧表无…

Springboot +Flowable,服务任务ServiceTask执行的三种方式(二)

一.简介 ServiceTask 从名字上看就是服务任务,它的图标是像下面这样,截图如下: ServiceTask 一般由系统自动完成,当流程走到这一步的时候,不会自动停下来,而是会去执行我们提前在 ServiceTask 中配置好的…

ubuntu下用VirtualBox安装Windows虚拟机

1.准备工作 从清华大学信息门户——公共服务及其他——软件资源——公共软件——操作系统——Windows11处下载对应的ios系统安装软件 注意下载后将文件名中的 “ .IOS ” 大写改为 “ .ios ” 小写,否则后续虚拟机无法直接识别 问题提示: 解决iso文件不…

【unity造轮子】2d敌人AI的实现,并自动躲避障碍物

最终效果 插件链接: https://download.csdn.net/download/qq_36303853/87762376 导入AI插件 新建空物体,添加PathFinder组件,用在地图导航 渲染导航路径,绘制出来的蓝色部分则为可行走区域,非蓝色区域是我配置的碰撞器区域,可自行修改,如果不满意可以修改Diameter的…

Aztec Hybrid Rollup:混合zkRollup,而非zkEVM

1. 引言 Aztec zkRollup为混合zkRollup: 支持通用私有计算的加密zkRollup(命名为Aztec):构建trustless、可扩展的、去中心化的Layer2 zkRollup,同时支持private smart contract execution。同时支持public state和pr…

云原生介绍

本博客地址:https://security.blog.csdn.net/article/details/130540430 一、云原生的概念 云原生的整体概念思路是三统一,即统一基础平台、统一软件架构、统一开发流程。 基于统一的基础平台、软件架构以及开发流程,数字化转型和云化转型能…

04- 评价指标mAP (目标检测)

要点: Precision (准确率 ):TP/(TPFP),即模型给出的所有预测结果中命中真实目标的比例。Recall (召回率):TP/(TPFN),被找到的正确目标和所有正确目标的比值。 官方文档:https://cocodataset.org/#detectio…

用Python批量生成word文档

楼主有个同事妹子每天都做重复性工作而且加班到很晚。这是楼主出于兴趣帮她写的的批量生成保密协议word文档的脚本,共享给大家使用~1小时的工作,用脚本5秒钟即搞定有木有~ copy到本地存成.py文件即可使用,生成的文件是这样的: #创…

MySQL基础(十一)数据处理之增删改

1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入数据。 1.2 方式1:VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....)…

文旅数字人出圈不断,文旅数字人宣传片制作赋能数字文旅新业态

在文旅产业发展中 数字人的应用越来越广泛 文旅借助数字人浪潮 把传统文化与科技相融合 以Z世代年轻群体所喜爱的方式 推动文旅数字化发展 文旅数字人应用场景——数字人文旅宣传片 可以让数字人作为文旅宣传片主角,串联当地代表性的历史文化地标、现代都市场景…

webconsole使用方法(fastapi框架)

webconsole使用方法 项目背景docker实现linux实现 安装webconsole包代码中需要改动的地方引用路由加入路由到访问路径 示例接口访问路径 项目背景 需要在自己的项目中,可以实时连接linux或者docker的命令行,以此来达到webconsole或者叫web terminal的这…

开源智慧家居

与家居行业、服务行业等伙伴协同合作,努力创造社会价值,提升行业整体服务 水平,树立家居服务业统一售后标准,构建品质、高效、有温度的居家生活服务新生态。 为企业商家和个人客户提供家居配送、搬运、安装、维修、保养等服务。 …

在Linux系统中搭建Docker环境

搭建Docker环境 文章目录 搭建Docker环境Ubuntu版本安装DockerCentos版本安装Docker配置镜像加速 Ubuntu版本安装Docker 按照以下步骤在 Ubuntu 上安装 Docker: 卸载旧版本的 Docker(如果有): sudo apt-get remove docker docker…

【PYTHON】绘制热力图SEABORN.HEATMAP

目录 一、参数详解二、颜色参数-cmap三、个性化设置四、代码 更多python资料、源码、教程皆可点击文章下方名片获取此处跳转 一、参数详解 seaborn.heatmap() seaborn.heatmap(data, vminNone, vmaxNone, cmapNone, centerNone, robustFalse, annotNon…

又一里程碑,alibaba首推Java技术成长笔记,业内评级“钻石级”

前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的。在行业内,很多互联网企业也将阿里作为自己的标杆,越来越多的…