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的头文件和声明结构体。

cpp 复制代码
/* Guider */
#include "gui_guider.h"
#include "events_init.h"


lv_ui guider_ui;

添加Guider的初始化内容。

cpp 复制代码
    /* GUI Guider demo */
		setup_ui(&guider_ui);
   	events_init(&guider_ui);
	

最后的main.c文件如下。

cpp 复制代码
#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裸机中。

相关推荐
深念Y21 小时前
ZTE_UZ901_NVRAM经验总结
linux·服务器·网络·嵌入式硬件·嵌入式·随身wifi
远翔调光芯片^1382879887221 小时前
高效驱动!FP7153赋能3A大电流手电筒,单节锂电 / 5V 供电也能迸发强劲照明力
科技·单片机·嵌入式硬件·智能家居·能源
wuyk5551 天前
89.嵌入式内存管理的“稳定利器”:内存池原理与C语言实现
c语言·开发语言·stm32·单片机·嵌入式硬件
芯片设计-曾工1 天前
远乐YL1628 SSOP28驱动芯片详解
驱动开发·单片机·51单片机·硬件工程
芸翳&Camellia1 天前
2026年电赛H题钢珠识别——基于深度学习的视觉目标检测与实时速度估计系统技术分析
嵌入式硬件·深度学习·目标检测·电赛
ACP广源盛139246256731 天前
2026 PCIe互连芯片@ACP#国产替代格局解析:芯动科技领跑高端交换芯片赛道
大数据·网络·数据库·人工智能·分布式·嵌入式硬件
碧海银沙音频科技研究院1 天前
8基于BES2700IHC数字助听器系统开发
嵌入式硬件·算法
Run_Teenage1 天前
嵌入式:深刻理解GPIO的通用/复用推挽输出、开漏输出
单片机·嵌入式硬件
zcmodeltech1 天前
智慧城市沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的园区-城市-数字孪生联动方案
服务器·数据库·人工智能·stm32·嵌入式硬件·信息可视化·智慧城市
Run_Teenage1 天前
嵌入式:认识STM32命名方法和引脚定义,认识仿真器
stm32·单片机·嵌入式硬件