
1.显示部分移植准备 将KEIL_LVGL\Simulator\LVGL.Simulator\lvgl文件夹下面的lv_conf_template.h、lvgl.h复制到KEIL_LVGL\USER\LVGL文件夹下面,并将lv_conf_template.h改名为lv_conf.h并在LVGL文件夹下面新建Porting文件夹 ![]() 将KEIL_LVGL\Simulator\LVGL.Simulator\lvgl\examples\porting下面所有文件复制到上一步新建的KEIL_LVGL\USER\LVGL\Porting文件夹下面去除去掉文件名中的template。 ![]() 2.KEIL配置 2.1 keil中添加头文件路径 KEIL_LVGL\Simulator\LVGL.Simulator\lvgl KEIL_LVGL\USER\LVGL ![]() 2.2 新建分组LVGL、LVGL_PORT ![]() 2.3. 在LVG分组添加文件 将KEIL_LVGL\Simulator\LVGL.Simulator\lvgl\src文件下面所有的.c文件添加到分组LVGL中,文件较长无法显示。 将KEIL_LVGL\USER\LVGL\Porting下面的.c文件添加到LVGL_PORT分组下面。 ![]() 3. 显示驱动移植 lv_conf配置 打开lv_conf.h文件并使能。 修改v_conf.h #define LV_COLOR_DEPTH 16 // 颜色深度 #define LV_USE_PERF_MONITOR 0 // 关闭FPS显示 #define LV_USE_MEM_MONITOR 0 // 关闭内存显示 ![]() 编译一下如果有以下报错 ..\..\Simulator\LVGL.Simulator\lvgl\src\extra\libs\fsdrv\lv_fs_win32.c(13): error: #5: cannot open source input file "windows.h": No such file or directory 直接将LVGL分组下的lv_fs_win32.c文件移除掉就行 ..\..\Simulator\LVGL.Simulator\lvgl\src\hal\lv_hal_tick.c(13): error: #5: cannot open source input file "Windows.h": No such file or directory 我们在报错的位置Go to Definition Of "LV_TICK_CUSTOM"之后发现进入的lv_config.h文件不是我们修改的文件。 解决办法: 打开lv_conf_internal.h文件找到31行#ifndef LV_CONF_SKIP 注释: #include "../../lv_conf.h" 改为#include "lv_conf.h" ![]() ![]() 4 屏幕显示驱动移植 上面修改的文件编译无错误时,打开lv_port_disp.c、lv_port_disp.h,#if 0改为#if 1 使能文件。并更改包含的头文件名,加入显示屏驱动头文件。 修改lv_port_disp_init(void)函数。这个函数根据自己的硬件情况进行配置。我这个开发板比较简单,这里就简单的进行配置一下。 ![]() 5.触摸屏驱动配置 打开lv_port_inde.c、lv_port_inde.h,并使能。打开lv_port_inde.c文件进行修改。 加入触摸屏触摸驱动程序头文件,修改void lv_port_indev_int()、static void touchpad_read。其他的外设函数可以根据自己的需要进行配置。 ![]() 6.测试移植 在初始化外设时顺便初始化一下两个函数,一定要先初始化lv_init()函数。 ![]() 在定时器中断中添加lv_tick_inc函数,用于处理LVGL事务。这个函数可以在通用定时器中断中,也可以在滴答定时器中断中,具体看需要进行配置。 ![]() 在main函数中添加一个按钮、按钮动画、标签、按键事件函数。可以复制到模拟器的main函数运行一下。 ![]() 模拟器显示,点击按钮、按钮上面的数字依次增加。 ![]() 开发板显示效果。 ![]() 作者:鹰头猫咪喵喵鱼 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南