界面设计及代码导出

GUI Guider软件版本:1.10
下载地址点击 GUI Guider
开发板:创龙 RK3562 + Ubuntu 20.04 SDK,7寸mipi屏幕800x1280
LVGL 版本:v8.3(与 GUI Guider 兼容)
`
创建工程选择lvgl8.3这个版本
在这里插入图片描述
根据屏幕信息设置相关的参数,这里使用1280x800的一个屏幕
在这里插入图片描述
放4个按钮来验证最终画面显示是否超出区域以及显示方向和触摸是否正确
在这里插入图片描述
通过模拟器查看是否正常,以及生成c代码
在这里插入图片描述
模拟器画面
在这里插入图片描述

代码移植

在GUI Guider工程目录中生成的代码只使用custom和generated
lvgl工程见 嵌入式Linux系统移植lvgl
在这里插入图片描述
将custom和generated这两个文件夹放到工程中与lvgl平级的目录
在这里插入图片描述
修改顶层Mekefile添加两个文件夹的头文件路径和c文件路径。

# ===================================================
# 添加头文件路径
CFLAGS += -I$(LVGL_DIR)/lvgl -I$(LVGL_DIR)/lvgl/src -I$(LVGL_DIR)/lv_drivers
CFLAGS += -I$(LVGL_DIR)/custom
CFLAGS += -I$(LVGL_DIR)/generated

# 添加c文件路径
# custom/目录
CSRCS += $(wildcard $(LVGL_DIR)/custom/*.c)

# generated/ 核心文件
CSRCS += $(wildcard $(LVGL_DIR)/generated/*.c)

# generated/ 子目录资源
CSRCS += $(wildcard $(LVGL_DIR)/generated/images/*.c)
CSRCS += $(wildcard $(LVGL_DIR)/generated/guider_fonts/*.c)
CSRCS += $(wildcard $(LVGL_DIR)/generated/guider_customer_fonts/*.c)
# ===========================================================

在这里插入图片描述

修改main.c
包含头文件

#include “generated/gui_guider.h”
lv_ui guider_ui;
在这里插入图片描述

注释默认的demo
调用自定义的demo
在lv_port_linux_frame_buffer-release-v8.3/generated/gui_guider.c中void setup_ui(lv_ui *ui)函数作为界面的入口函数
在这里插入图片描述
在main中调用setup_ui(&guider_ui);
在这里插入图片描述
make clean
make -j20

编译后生成demo可行文件

发送到开发板
scp demo root@192.168.137.112:~

在开发板执行demo程序
./demo
屏幕可以显示和触摸,但是显示方向不对,只显示初了一部分,设计设计界面是横屏1280x800,但现在是竖屏显示
在这里插入图片描述
在这里插入图片描述
修改main.c
在这里插入图片描述
将屏幕分辨率修改为物理屏幕的分辨率并添加画面旋转函数
disp_drv.hor_res = 800;
disp_drv.ver_res = 1280;
翻转画面
lv_disp_t * disp = lv_disp_drv_register(&disp_drv);
lv_disp_set_rotation(disp, LV_DISP_ROT_90);
编译下载验证
画面显示正常 但是触摸不对
在这里插入图片描述
在这里插入图片描述

问题

在lvgl/src/core/ lv_indev.c 中无lv_indev_set_rotation()函数来实现触摸的旋转,只有手动旋转,试了几遍,没能调好,屏幕横屏分辨率是1280x800,触摸区域被限制在画面左侧800*800的一个区域,在这个区域内触摸正常,但画面右侧剩余的区域触摸区域与显示画面指针无法对应
在这里插入图片描述
有点像是软件配置的触摸区域没有完全与实际触摸的区域相重合,暂未解决触摸的问题。
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐