当前位置: 首页 > news >正文

2,GUI Guider的安装与导入STM32裸机工程

一、GUI Guider的安装

        我们可以从NXP的官网找到GUI Guider的安装包,截至目前为止最新的版本为v1.9.1,该版本软件支持LVGL的V3.8.10和V9.2.1。后续内容均基于V3.8.10版本进行。

Create Modern Embedded GUIs Fasts | NXP Semiconductorshttp://NXP官网链接

        下载好安装包如下,双击安装即可。

二、GUI Guider创建新工程

        首先点击创建新项目开始创建。

        选择LVGL的V3.8.10版本进行创建。

        选择仿真模式。

        选择空白模板进行创建。

        填入项目名称、色彩深度、面板的分辨率(我用的是800*480的横屏),点击创建。

        最后显示如下,新的项目就已经创建完毕。

三、GUI Guider项目添加内容并编译

        我们给新建的项目添加一个图片和一个按钮来进行测试。

3.1 添加图片组件

        点击组件框,选择图片组件。

        点击工作区域的图片组件进行添加,选中本地的图片,点击图片再点击确定添加成功。

注意:这里图片的名称只能是英文、数字、下划线等,不能是中文。

        稍微调整图片大小,注意不要太大否则会内存报错。完成图片添加。

3.2 添加按钮组件

         点击组件框,选择按钮组件。工作区域出现按钮即添加成功。

3.3 编译Guider项目

        点击右上角的绿色三角按钮,选择C语言模式开始编译。

        编译完成后,会跳出模拟器的界面。到此编译成功,关闭模拟器界面。

四、GUI Guider导入STM32工程

4.1 GUI Guider导出LVGL文件

        点击工程->代码导出->Zephyr,选择目录即可导出LVGL源文件。

        导出的文件夹如下所示。

4.2 STM32工程添加LVGL文件

4.2.1 STM32工程添加LVGL文件

        在如下目录中新建文件夹,命名为Guider_APP。并将导出的src文件全部复制到此文件夹中。

目录地址:STM32工程名称\Middlewares\LVGL\Guider_APP

4.2.2 STM32工程添加LVGL的.c文件       

        打开Keil V5 ,新建目录Middlewares/LVGL/Guider_APP,并将导出的所有.c文件(除了生成的main.c文件)导入到此目录下。

        导入完成后如下所示。

4.2.3 STM32工程添加LVGL的头文件路径

        将以下三个路径添加到keilV5工程中。

4.2.4  修改main.c文件

        添加Guider的头文件和声明结构体。

/* Guider */
#include "gui_guider.h"
#include "events_init.h"lv_ui guider_ui;

        添加Guider的初始化内容。

    /* GUI Guider demo */setup_ui(&guider_ui);events_init(&guider_ui);

        最后的main.c文件如下。

#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/usart/usart.h"
#include "./SYSTEM/delay/delay.h"
#include "./BSP/LED/led.h"
#include "./BSP/KEY/key.h"
#include "./BSP/SRAM/sram.h"
#include "./BSP/TIMER/btim.h"/* LVGL */
#include "lvgl.h"
#include "lv_port_indev_template.h"
#include "lv_port_disp_template.h"
#include "lv_demo_stress.h"/* Guider */
#include "gui_guider.h"
#include "events_init.h"lv_ui guider_ui;int main(void)
{HAL_Init();                         /* 初始化HAL库 */sys_stm32_clock_init(336, 8, 2, 7); /* 设置时钟,168Mhz */delay_init(168);                    /* 延时初始化 */usart_init(115200);                 /* 串口初始化为115200 */led_init();                         /* 初始化LED */key_init();                         /* 初始化按键 */sram_init();                        /* SRAM初始化 */btim_timx_int_init(10-1,8400-1);    /* 初始化定时器 *//* lvgl初始化 */lv_init();lv_port_disp_init();lv_port_indev_init();/* GUI Guider demo */setup_ui(&guider_ui);events_init(&guider_ui);while (1){lv_task_handler();delay_ms(5);}
}

五、 烧录与显示

        点击编译,0错误0警告。

        点击烧录,烧录成功后按下复位按键,显示屏成功点亮。Guider设计成功导入STM32裸机中。

http://www.dtcms.com/a/398775.html

相关文章:

  • 上门代管宠物系统的设计与实现
  • 鸿蒙Next应用开发:ArkTS语言下的IPC与RPC通信指南
  • CTFSHOW 中期测评(二)web502 - web516
  • JVM-执行引擎
  • 企业手机网站源码网站建设相关资质
  • python项目: Thinkphp框架漏洞扫描器集成
  • 车载通信架构 ---新一代车载通信框架
  • 建设银行网站怎么注销网银网站建设网页制作
  • 【25软考网工】第五章(10) Internet应用
  • Android target35适配之窗口边衬区变更
  • 设计网站推荐百度贴吧装修设计比较好的网站
  • 营销网站四大要素谷歌做自己的网站
  • 【OpenGL】LearnOpenGL学习笔记27 - HDR、Bloom
  • MySQL 学习笔记 (Part.1)
  • 《代码大全》笔记
  • 【低代码】阿里Formily通用设计工具Designable学习记录
  • 网站建设客户wordpress如何看网页地址
  • php做的网站如何发布新类型网站
  • mq是如何实现的
  • 【区间贪心】P3661 [USACO17FEB] Why Did the Cow Cross the Road I S|普及+
  • AIGC实战——BicycleGAN详解与实现
  • 基于Element Plus的Vue3远程搜索多选组件实现与优化
  • 网站只做静态页面安全受到影响南昌旅游集团网站建设
  • pom.xml 不在根目录,idea无法识别项目处理方案
  • 网站开发所需硬件昆明微网站搭建
  • 【第25话:路径规划】自动驾驶路径规划概念与理论介绍
  • QT多窗口跳转
  • 栈(Stack)
  • 整体设计 逻辑全链 之8 受控的自然语言-字面拼凑:正则表达式 之2
  • 攻防世界-Web-simple_php