当前位置: 首页> 财经> 创投人物 > 深圳谷歌seo培训班_网页制作的收获与体会_搜索引擎优化是做什么的_友情链接样式

深圳谷歌seo培训班_网页制作的收获与体会_搜索引擎优化是做什么的_友情链接样式

时间:2025/7/9 10:50:55来源:https://blog.csdn.net/tao_sc/article/details/143780979 浏览次数:0次
深圳谷歌seo培训班_网页制作的收获与体会_搜索引擎优化是做什么的_友情链接样式

一.准备

1.1. 任意一个屏幕可以正常显示的GD32工程,stm32等其它mcu都一样:

1.2. LVGL源码

下载最新版源文件:https://github.com/lvgl/lvgl/tree/release/v8.3
我们会得到一个压缩文件,然后解压出来备用,现在准备好了一个GD32 Keil工程和一个LVGL源码:
在这里插入图片描述

二、LVGL移植

2.1 文件操作

对于移植使用来说,我们主要使用下面这几个LVGL的关键文件:
在这里插入图片描述

  1. 在Keil工程中新”LVGL“文件夹,然后将上述文件拷贝至新建的文件夹内:

  2. 把默认的“lv_conf_template.h”改名为“lv_conf.h”
    2.进入”.\LVGL\examples“目录,删除其它文件夹,仅保留”porting“文件夹,修改后如下所示:
    在这里插入图片描述

  3. 进入”.\LVGL\demos“目录,删除如下文件夹,仅保留”stress“文件夹和lv_demos.h(这里我们只跑这一个例程),修改后如下所示:
    在这里插入图片描述

  4. 把“.\LVGL\examples\porting“目录下的所有文件的”xxx_template“字样也删除掉:修改后如下所示:

在这里插入图片描述

  1. 打开”.\LVGL\src\“文件夹,我们在Keil中把这几个文件夹的以及对应的源文件都包含进去:
    在这里插入图片描述

  2. 首先创建同文件名的目录:
    在这里插入图片描述

  3. 然后把对应文件夹的源文件添加进来:
    在这里插入图片描述

  4. Draw目录下需要注意,首先添加目录下的c源文件,
    在这里插入图片描述

然后添加”sw“目录下的所有源文件,其他子目录下的不需要:

9/然后是目录”extra“下的所有源文件,注意,这里的子目录很多,一定要全部添加,不要遗漏!

然后是”font“、”hal“、”misc“、”widgets“文件夹:

然后新建”LVGL_Porting“目录,添加”example\porting“下的所有源文件:

新建“LVGL_Demos”目录,存放“demos”文件夹下的所有源文件:

新建“”目录,存放“”目录下的头文件:

源文件添加完后接下来添加头文件路径,按如下内容添加:

然后回到“C/C++”标签页,勾选“C99 Mode”:

接下来就是代码操作部分

  1. 代码操作
    首先是启用LVGL,打开”lvgl_conf.h“文件,在第15行的条件宏处改为”1“:

然后适当调小一下内存分配:

这里可以尝试编译一下,如果没有错误就可以进行下一步,如果有,请检查源文件或头文件是否有遗漏:

然后打开”lv_port_disp.c“文件,完成屏幕接口的适配,首先启用条件宏,然后把头文件的”xxx_template“删除,因为我们已经在前面文件操作的时候重命名了,然后包含自己的屏幕驱动文件,并根据屏幕信息,调整尺寸,我的屏幕信息定义在自己的屏幕驱动文件的宏定义LCD_LENGTH和LCD_WIDTH中:

#define MY_DISP_HOR_RES LCD_LENGTH //填写自己的屏幕尺寸信息
#define MY_DISP_VER_RES LCD_WIDTH //填写自己的屏幕尺寸信息
1
2

然后右键跳转到"lv_port_disp.h"文件,启用条件宏并修改头文件路径:

回到”lv_port_disp.c“文件,划到中间90行左右,LVGL支持多个缓冲区,MCU使用一般就用一个,我们注释掉其他两种写缓存方式:

添加自己的屏幕初始化函数和画点函数:

这时候我们编译一下,可以看到是0错误0警告:

接下来我们启用LVGL例程的播放,首先先调整堆栈空间的大小,这里根据自己MCU大小适当修改:

然后给LVGL一个系统时基,打开”gd32f30x_it.c“文件,首先添加头文件:

然后在系统滴答里添加lvgl的心跳:

然后进入"lv_config.h"文件,把例程”LV_USE_DEMO_STRESS“的宏打开:

回到main.c文件,添加如下头文件:

#include “lvgl.h”
#include “lv_port_disp.h”
#include “lv_demo_stress.h”
1
2
3

在系统初始化中加入LVGL初始化:

lv_init();
lv_port_disp_init();

1
2

在main函数中完成调用:

int main(void)
{
/* configure systick */
systick_config();
System_Init();
lv_demo_stress();
while (1){
lv_timer_handler();
delay_1ms(1);
}
}

然后我们编译运行:

关键字:深圳谷歌seo培训班_网页制作的收获与体会_搜索引擎优化是做什么的_友情链接样式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: