TFT-LCD LVGL官方例程的应用

TFT-LCD LVGL官方例程的应用

移植完lvgl的源码和驱动后,就可以试着调用lvgl的官方例程来运行了;例程的目录如下

在这里插入图片描述

官方demo是一些比较完整的界面,文件夹里面有.gif的动态图展示,而类型和小部件适合根据需要做一个自己喜欢的界面,打开任意一个小部件的文件夹,里面会有源文件和图片展示

在这里插入图片描述

keil工程添加例程

工程新建一个文件组,添加下面三个源文件,路径位置:TFT-LCD-LVGL\GUI\lvgl_examples\src\lv_ex_get_started

在这里插入图片描述

点击打开lv_ex_get_started_1.c源文件,将创建按钮的函数复制到自己的初始化函数中

lv_ex_get_started_1.c:

在这里插入图片描述

MyInit.c:

在这里插入图片描述

直接调用的话是会出现错误的,因为还没有引入头文件,接下来要添加头文件路径

在这里插入图片描述

然后在MyApplication.h头文件中包含所需头文件,因为设置里添加的路径是到src的,src里仍然有许多文件夹,所以要先包含文件夹,再包含头文件

在这里插入图片描述

引入头文件后初始化的lv_ex_get_started_1()就没显示报错了,编译一下,发现没有错误没有警告

初始化完后需要启用GUI任务,在系统运行函数Run()中添加lv_task_handler()来启动GUI,Run函数会被main函数while循环调用,lv_task_handler()函数可以放在主循环或者定时器中,通过不停调用来启动GUI刷新

在这里插入图片描述

编译没错后下载到开发板上,可以看到TFT屏幕左上角显示了一个按钮,并且触摸按钮后,数字会自动加1,说明lvgl移植成功

在这里插入图片描述

再在初始化函数中调用lv_ex_get_started_2()和lv_ex_get_started_3(),再编译烧录

在这里插入图片描述

这次显示了两个按钮,第一个按钮是灰色的,第二个按钮是红色的,按钮可以触摸,还有一个进度条,拉动进度条下面显示的数字会跟着改变,可以看出lvgl的界面功能还是挺不错的

在这里插入图片描述

添加一个稍微大点的demo

同样在工程文件夹lvgl_examples中进行添加,源文件路径:\TFT-LCD-LVGL\GUI\lvgl_examples\src\lv_demo_widgets

在这里插入图片描述

打开源文件,跳转到其对应的头文件中

在这里插入图片描述

可看到只有一个函数声明,所以只需调用该函数即可,将该函数复制到自己工程的初始化函数MyInit中,启用GUI界面

在这里插入图片描述

直接调用函数时会报错,需要将头文件路径包含进来,在MyApplication.h头文件中添加该demo的头文件路径

在这里插入图片描述

还要注意lv_demo_widgets.c文件中的条件编译,如果这个条件为0,则lv_demo_widgets函数将不被编译

在这里插入图片描述

点击跳转到该条件处,发现在lv_ex_conf.h头文件中进行了宏定义,默认是0的,所以lv_demo_widgets函数不起作用,需要将0改为1,函数才被编译

这是一个例程的配置头文件,定义的都是例程的条件编译参数,需要用到哪个例程,就将对应的宏改为1就行;

LV_DEMO_WIDGETS_SLIDESHOW宏定义是界面幻灯片效果,如果该宏定义为1,则界面呈幻灯片显示

在这里插入图片描述

编译发现没错后,烧录到开发板上查看显示效果

这个demo就比较完善,功能也多,顶部三个选项可以触摸切换,第一个选项是显示按钮、复选框和进度条等,第二个选项是显示条形图和柱状图等,第三个选项是显示日历等,并且都能往下滑,能显示更丰富的内容。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46251230/article/details/127973140
今日推荐