LVGL8移植中文教程
1 前言(文章持续更新中)
这次在制作打印机界面,使用裸机制作界面过程量太大,刚好最近有了解到lvgl这个这个强大的GUI工具。在完成使用lvgl过程中,我遇到了不少问题,利用这次机会,边学习边记录,方便以后使用学习。网络上很多都是基于一些老版本的lvgl,新版本的资料相对少,特地做这个教程记录一下自己学习过程。
2 移植LVGL
修改端口文件 #include “lv_port_disp.h”
3 给LVGL添加中文字库
3.1准备工作
字库生成网址:lvgl在线字库生成链接
免费字库链接:惠普体下载链接
3.11 字库生成
第一步:点击字库生成链接会进入如下界面,按照下图提示信息设置的文件名(name),选择字体大小(size)、以及抗拒齿选择(Bpp<PS数值越大占用内存越大,效果越好>)。
第二步:选择字库文件(TTF/WOFF),这里提供免费字体下载链接将其下载下来,并解压。之后回到字库生成界面,点击文件选择按钮 ,浏览到刚刚下载的字库文件,这里我选择AlibabaPuHuiTi-2-55-Regular.otf,你可以根据实际需求选择适合自己的字体。
第三步:根据自己需要汉字数量,在Rang输入生成字库范围,或者在Symbols中输入自己需要的汉字以及字符。
第四步:点击转换按钮(convert),进行字库生成,点击下载下来。
第5步:将下载下来的sy_lv_font_16_cn.c复制到工程lvgl目录下。这里我使用的是自定义目录,可以参考一下,这个使用还需要处理cmakelist.txt文件,让工程认到这个sy_lv_font_16_cn.c文件。这里就不展开导论了。
第6步:打开vscode工程,找到v_conf.h文件,找到#define LV_FONT_CUSTOM_DECLARE 在其后面添加LV_FONT_DECLARE(sy_lv_font_16_cn)括号里于自己生成字库名保持一致即可。再lvgl8.0这个文件在300行左右,如果是7.0约在400多行,慢慢找。
/*Optionally declare custom fonts here.
*You can use these fonts as default font too and they will be available globally.
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(sy_lv_font_16_cn)
第7步:在主函数中声明使用自定义字库,参考如下,到这一步整个中文字库添加已经完成了,剩下的就是如何使用了。
lv_style_t style;
lv_style_init(&style);
//设置样式字体
lv_style_set_text_font(&style,&sy_lv_font_16_cn);
lv_obj_add_style(label,&style,0);
4 GUI guider 图形化界面按照
4.1 准备工作
1.Guidera按照包下载链接
2. JVJA-JDK环境安装包下载链接
4.11 guider安装教程
4.12 java-jdk环境搭建
将openjdk-16.0.1_windows-x64_bin下载到电脑桌面,将其解压出来,提取出来的jdk-16.0.1,放到一个自己喜欢的位置中。下面教程,是按照我自己习惯,大家如果不太熟悉可以参照我的来。
第一步:在D盘构建如下目录:D:\APP_Softwer\JAVA并将jdk放到这个文件夹下(也可以自定义目录),如下图
第二步:在桌面对<1>此电脑单击右键,<2>属性(R),<3>高级环境设置,<4>环境变量(N),找到XXX用户环境变量下的<5>path选中,点击编辑。<6>新建(N),添加我们自己的环境变量:D:\APP_Softwer\JAVA\jdk-16.0.1\bin (这个是我们刚刚存放存放jdk的路径)<7>在系统环境变量新建一个变量名位<8>JAVA_HOME变量名,变量值输入:D:\APP_Softwer\JAVA\jdk-16.0.1(这个是我们刚刚存放存放jdk的路径)。
第三步:打开CMD命令串口,输入java -version进行验证环境变量。如下图表示构建成功。