TFT-LCD LVGL官方例程的应用
创始人
2024-02-19 10:58:45
0

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

在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...