4.移植代码
将代码导出至指定路径:
打开我们移植好LVGL的STM32的工程以及工程文件夹,在LVGL文件夹中创建一个guider文件夹,将guider生成的源码src文件夹全部放入(删除生成的main.c):
工程管理中创建组并添加文件:
魔术棒中添加头文件路径:
打开GUI Guider导出的main.c文件,将main.c中的头文件加入到我们自己工程的头文件中:
//Guider
#include "../generated/gui_guider.h"
#include "../generated/events_init.h"
在main.c主函数上方添加全局变量:
lv_ui guider_ui;
在主函数中调用(LVGL框架初始化之后):
setup_ui(&guider_ui);
events_init(&guider_ui);
编译成功即可。
5.错误解决方案
以下是笔者移植时遇到的错误总结:
1.error:#8:missing closing quote
这个错误主要由编码错误引起,在魔术棒->C/C++->Misc Controls中添加:--locale=english
后即可解决
2.画面倒置
烧入成功后发现画面是旋转的或者倒置的话,可以使用LVGL自带的属性进行修改旋转
打开lv_port_disp.c这个文件,找到void lv_port_disp_init(void)这个函数
在lv_disp_drv_register(&disp_drv);前添加堆属性的修改即可
disp_drv.sw_rotate = 1;
disp_drv.rotated = LV_DISP_ROT_90;
这两句是开启旋转并旋转90度,其他宏如:
LV_DISP_ROT_NONE, LV_DISP_ROT_90, LV_DISP_ROT_180, LV_DISP_ROT_270
分别可旋转不同的角度
四.移植成功