LGVL配合FreeType为可变字体设置字重-ESP32篇

LGVL配合FreeType为可变字体设置字重-ESP32篇,第1张

我们在 上篇 中已经实现了模拟器环境下可变字体字重的设置.

是时候掏出你吃灰已久的ESP32了.

本文会使用 PlatformIO 创建一个全新的项目,直到显示出现 上篇文章 末尾的动图为止.

如遇到问题,可参考"常见问题"内解答.

为了后续内容顺利进行下去,这里需要你安装好 VSCode ,并在VSCode上安装 PlatformIO 插件.

使用PlatformIO创建一个名为lvgl_with_freetype的项目

创建完毕后目录结构如下:

由于已经写过一篇点亮屏幕的 文章 ,故本文不做过多赘述,只说明一下区别.

之前的屏幕分辨率是135x240,这次的屏幕分辨率是240x240.

所以需要使用TFT_eSPI里面的 Setup24_ST7789.h

同时接线变更为

对应 Setup24_ST7789.h 里面内容

随便写点内容.测试下屏幕的点亮.

屏幕点亮以后,就可以开始移植LVGL了.

当前时间为2021.12.19, GitHub上LVGL 最新版本是8.1.1-dev

使用命令

获取LVGL后将其复制到lib文件夹下.此时文件目录为

platformio.ini文件内容

创建LVGL的配置文件,找到lvgl文件夹内的 lv_conf_templat.h ,复制一份 lv_conf_templat.h 并重命名为 lv_conf.h ,然后打开 lv_conf.h

为了使配置文件内容生效,找到第15行(其他版本的lvgl行数可能不在这里,需要自行寻找)

改为

找到第30行,修改颜色顺序

改为

找到第49行,启用自定义内存管理

修改为

找到第88行,设置自定义周期函数

修改为

找到第174行,启用LVGL日志功能

修改为

按照目录

创建 lv_port_disp.cpp 和 lv_port_disp.h

Toou.Anata wa watashi no masuta ka?

Q:点亮屏幕时候,编译器报找不到TFT_eSPI

A:检查TFT_eSPI是否集成

将TFT_eSPI放置在lib文件夹内,并向platformio.ini文件末尾添加

Q:在移植LVGL时候,屏幕颜色异常

A:可能与lv_conf.h文件内#define LV_COLOR_16_SWAP 0有关

可以尝试将此处的0改成1,或1改回0

记录了一些常用配置参数,工程中编辑PlatFormIO.ini 修改即可,可以解决默认串口烧录不成功、烧录速度慢等问题。

ESP8266常见烧录速度:115200 256000 921600 3000000 ,设置其他速度可能导致匹配波特率不成功烧录失败


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11250390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存