LVGL使用GUI Guider配置STM32界面详细笔记教程

0、说明

        接着前面几篇博客对LVGL的使用和介绍,这篇博客主要是使用和介绍快速配置LVGL图形界面编程的工具,GUI Guider。本文使用的工程代码,均是基于前几篇博客的基础上的,如需下载已配置好的LVGL-MCU工程环境,可通过如下链接进行跳转下载:

     LVGL移植到STM32 MCU平台详细经验笔记教程_lvgl适配-CSDN博客

   【免费】LVGL移植到STM32MCU平台通用程序源码_lvgl如何port到嵌入式资源-CSDN文库

    LVGL显示中文字体及其它语言文字详细笔记教程_lvgl 安装中文字库-CSDN博客

1、下载GUI Guider工具软件

        GUI Guider是NXP公司为LVGL开发的一个GUI设计工具,用户可以通过直接拖放控件来设计 LVGL的GUI页面,加速 GUI 的设计,并且可以导出与硬件平台无关的c语言、Python代码,非常简单方便的加入到项目中。

GUI Guider | NXP 半导体icon-default.png?t=N7T8https://www.nxp.com.cn/design/design-center/software/development-software/gui-guider:GUI-GUIDER

进入GUI Guider官网,点击下载,选择对应开发平台的工具软件版本,并且安装GUI Guider应用程序。当前在NXP官网下载资料,需要注册账户登录。

2、GUI Guider工程配置

①、新建GUI Guider工程

        当前下载的为Gui-Guider-Setup-1.7.2-GA版本工具,支持LVGL的v7.10.1和v8.3.10两个版本。在本项目中使用的是v8.3版本。

②、选择模拟器作为目标设备

        根据需要进行选择设备,在本笔记教程中选用了模拟器作为设备模板

③、选择工程应用模板

根据需要进行选择,在本笔记教程中选择了空白的UI界面。

④、填写工程信息

        注意:在填写工程路径时,路径名中不能包含任何的空格,否则会报错

⑤、工程创建成功后操作主界面

2、GUI Guider图形界面编辑

①、创建容器

②、插入图片

        在图片插入后,剩余操作可以和上面的创建容器操作类似,设置图片的位置和大小等数据。

③、插入标签(文字)

        如果是显示汉字,需要选择为合适的字体,如思源宋体,如果字体选择不正确,会导致汉字显示异常。

        本教程设置字体为思源宋体,即SourceHanSerifSC_Regular

④、设置字体

        点击系统设置,在选择IDE,然后将默认字体修改为需要的字体,如图所示为修改字体为思源宋体。

⑤、插入线条

⑥、插入表格

        如需增加表格的行数或列数,点击属性内容右侧的加号按钮即可。

⑦、插入复选框

⑧、插入二维码

        选中二维码后,在属性下的文本中,输入文本数据,会自动转换生成对应二维码的图案。

⑨、插入按钮

⑩、事件设置

        在事件设置中,可以自定义事件触发操作代码,也可以直接进行加载屏幕或者其它操作。当是加载屏幕操作时,还可以设置屏幕切换动画。

⑪、代码导出

        在工具软件中的模拟器仿真运行无误后,点击工程-->代码导出,然后选择导出路径,即可将GUI Guider的界面程序代码导出到对应路径,进行使用或移植到其它平台操作。

3、STM32工程移植

①、源文件加入

        打开STM32的工程,新建GUIDER组,将GUI Guider工具导出程序(除了main.c外)全部加入到新建的GUIDER组目录下。

        打开GUI Guider导出的main.c文件,将main.c中的头文件,加入到工程main函数所在的头文件。

#include "../generated/gui_guider.h"
#include "../generated/events_init.h"

        并且MDK工程的main函数上方定义一个全局变量:

lv_ui guider_ui;

        在main函数中调用如下两个函数:

setup_ui(&guider_ui);
events_init(&guider_ui);

②、头文件加入

        将导出的工程中的所有包含.h头文件的路径,全部加入到MDK工程中。

③、解决编译报错

        提醒:因为不同用户,在GUI Guider的操作过程中,使用的对象不同,因此报错信息也并不都是一样的,请根据实际情况进行修改程序,解决编译报错问题。

        通过报错信息,可以看到,主要时报了两个头文件错误和一个程序未定义的错误。

        解决使用二维码未定义报错

        解决头文件报错

④、程序烧录效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/739711.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ANSYS Electronics 电磁场仿真工具下载安装,ANSYS Electronics强大的功能和灵活性

ANSYS Electronics无疑是一款在电磁场仿真领域表现卓越的软件工具。它凭借强大的功能和灵活性,帮助用户在产品设计阶段就能精确预测和优化电磁场性能,从而极大地降低了实际测试成本,并显著提升了产品的可靠性。 这款软件不仅在电子设计领域有…

标准立项 | 温室气体排放核算与报告要求 废油资源化企业

国内由于现有的废油再生企业规模较小,承担社会责任能力不强,在技术创新尤其是需要通过工程基础研究解决关键科技问题的创新积极性不高,由于经济成本的原因,多采用较落后的加工工艺,没有对废油中的特征污染物及毒害组分…

智慧在线医疗在线诊疗APP患者端+医生端音视频诊疗并开处方

智慧在线医疗:音视频诊疗新纪元 🌐 智慧医疗新篇章 随着科技的飞速发展,智慧医疗正逐步走进我们的生活。特别是在线医疗,凭借其便捷、高效的特点,已成为许多患者的首选。而其中的“智慧在线医疗患者端医生端音视频诊疗…

Databend 开源周报第 149 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 支持递归公共表…

Python数据分析-运用机器学习的方法对保险反欺诈的预测分析

一、研究背景及意义 保险欺诈不仅会造成暂时性的损失、增加公司的运营管理难度,而且对于合法的消费者来说负担了本不属于自身承担的风险,损害了其合法权益。因此,提高对车险欺诈的识别率并据此形成防范对策对提高保险公司的利润与维护消费者…

VERYCLOUD睿鸿股份亮相亚马逊云科技中国峰会2024

5月30日,为期两天的亚马逊云科技中国峰会在上海世博中心圆满落幕。 多位大咖现场分享,生成式AI时代的数据战略,企业级AI应用,最新技术、产品重磅发布,创新行业解决方案 …… 作为亚马逊云科技的生态合作伙伴&#x…

如何用IDEA(2024版)从github上拉取一个项目

前置要求: 确保你已经安装了 IntelliJ IDEA。确保你已经安装了 Git 工具并配置好了环境变量。确保你有一个 GitHub 账户,并且你想要克隆的仓库可以被你访问。 具体步骤: 1. 打开 IntelliJ IDEA 启动 IntelliJ IDEA。如果这是你第一次启动…

AIGC-商业设计大师班,商业设计全流程(22节课)

课程内容: 02.AIGC大师计划(百天磨炼,只为让你一次成为大师).mp4 03.这5个细心的翻译工具我想全部告诉你(感受不到的工具才是好工具),mp4 04.扎实的基础是成功的关键(汇聚精华指导新功能演示方法).mp4 05.AI绘画大师级十二体咒语书写(大师级起步).mp…

祛寒湿效果最好的40天到了!4个方法,助你把堵在体内的寒和湿排出去~

莫名犯困、身体沉重、没有食欲、嘴里发黏……遇上这些症状,很可能是你被寒湿偷袭了。 “热在三伏、冷在三九”,最热的时候,也是排湿祛寒最佳的时段,抓住三伏“冬病夏治”黄金40天,这段时间调理好了可以事半功倍&#x…

数智化浪潮下的零售品牌商品计划革新

在数字化和智能化交织的时代背景下,零售品牌的商品计划正在经历一场前所未有的革新。这场革新不仅改变了商品计划的方式和流程,更重塑了零售品牌的竞争格局和市场地位。 一、数智化:零售品牌的新引擎 在快速变化的市场环境中,零…

React 扩展

文章目录 PureComponent1. 使用 React.Component,不会进行浅比较2. 使用 shouldComponentUpdate 生命周期钩子,手动比较3. 使用 React.PureComponent,自动进行浅比较 Render Props1. 使用 Children props(通过组件标签体传入结构&…

docker-compose离线安装harbor

1、下载harbor goharbor下载:Releases goharbor/harbor GitHub harbor-offline-installer-v2.11.0.tgz 2、解压 tar -xvf harbor-offline-installer-v2.11.0.tgz 3、创建一个卷目录,并复制一份配置文件 cd harbor; mkdir data;cp harbor.yml.tmp…

Kotlin设计模式:享元模式(Flyweight Pattern)

Kotlin设计模式:享元模式(Flyweight Pattern) 在移动应用开发中,内存和CPU资源是非常宝贵的。享元模式(Flyweight Pattern)是一种设计模式,旨在通过对象重用来优化内存使用和性能。本文将深入探…

操作系统真象还原:用户进程

第11章-用户进程 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 11.1 为什么要有任务状态TSS Linux 任务切换未采用 Intel 的做法,而是用了一套自己的方法,只是用了 TSS 的一小部分功能。 操作系统最直接控制的就是 CPU&…

解析 flink sql 转化成flink job

文章目录 背景流程flink实例实现细节定义的规则定义的物理算子定义的flink exec node 背景 在很多计算引擎里,都会把sql 这种标准语言,转成计算引擎下底层实际的算子,因此理解此转换的流程对于理解整个过程非常重要 流程 flink实例 public…

日常饮水中的风险来自哪里?

一杯透明、澄澈的饮用水 是你一天工作、学习和生活的动力源泉 但在你准备饮用时 如何确定水中就没有致病菌呢 联合国报告 世界上有26%的人喝不到干净卫生的饮用水1 为什么? 卫生设施缺乏 环保意识差 对水资源的保护不足 ... 这些因素叠加造成了饮用水的污…

Debian12中搭建TiddlyWiki服务并进行配置

一、Node.js 环境安装 apt update & apt install nodejs npm ## 查看版本 node -v npm -v二、安装Tiddlywiki npm install -g tiddlywiki## 查看版本号 tiddlywiki --version 三、配置并运行 tiddlywiki ## 在/home 目录自动创建Testwiki文件夹,作为wiki的存…

福昕PDF编辑器(Foxit PDF Editor)修改成中文显示

双击打开Foxit PDF Editor 点击File->Preferences 从左侧下拉菜单找到Languages选项点击,然后在右边选择Chinese-Simplfied(简体中文),点击OK 点击下面的Restart Now立刻重启Foxit PDF Editor软件 重启后,发现软件已…

Charles 显示内存不足解决方法

弹窗出现:Charles is running low on memory. Recording has been stopped. Please clear the session to free memory and continue recording. 官网解决方法: Charles runs out of memory After recording for a while Charles will run low on ava…

国内顶级汽车制造厂的创新实践:如何利用实时数据湖为更多业务提供新鲜数据?

使用 TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量代替 OGG、DSG 等同步工具,「CDC 流处理 数据集成」组合拳,加速仓内数据流转,帮助企业将真正具有业务价值的数据作用到实处&#xff0c…