你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32L562E-DK】健康手环基础界面开发(二)—— GUI移植

[复制链接]
锋味 发布时间:2025-3-13 20:02

引言

在上一章节 健康手环基础界面开发(一)—— 准备工作 中,初步介绍了STM32L562E-DK界面开发相关硬件资源即驱动层开发等前期准备工作。显然,L562Ex并没有如L4R9和U5x9系列具备的图形专用硬件加速外设,但足以应付诸如健康手环(非手表)这类多静态、低刷新、小分辨率的产品开发。

GUI对比

“emWin在性能优化、资源占用和工业级稳定性方面仍然表现出色,尤其适合静态界面为主、对实时性和稳定性要求高的工业场景。然而,在需要复杂动画和现代交互的消费类设备中,LVGL和TouchGFX更具优势。”该GUI对比汇总来自DeepSeek,统计结果如下表所示,回答较为中肯,基本符合事实。显然,使用STemWin在STM32L562E-DK平台开发健康手环(非手表)界面基本适用。

image.png

STemWin下载

在SEGGER官网下载 emWin for STM32,得到压缩文件【emWin_V646_OBJ_STM32】

image.png

image.png

移植规则

主要参考以下文档:

(1)SEGGER官方文档《UM03001_emWin 6.46》—— Chapter 13 Display drivers

(2)ST官方文档《AN4323_STemWin库入门》

移植文件

(1)移植所需文件位于文件夹emWin_V646_OBJ_STM32内。首先在本GUI_Demo工程中建立\STemWin的文件夹,用于存放库文件,如下图所示,复制emWin_V646_OBJ_STM32文件夹内对应文件。由第(一)期—— 准备工作期可知,Display使用FMC接口,整个移植过程非常简单。

image.png

(2)将上述文件导入工程后,还需添加对应路径。

image.png

【其中】:

(0)“\Inc“位于emWin_V646_OBJ_STM32,整个复制。

(1)“GUI_X_FreeRTOS.c”位于emWin_V646_OBJ_STM32\Sample\GUI_X

(2)“GUIConf.c“ 在v6.46包内并未提供。为了展示移植过程,暂时在旧版本的STemWin中复制一个,位于\STM32Cube_FW_L4_V1.18.1\Middlewares\ST\STemWin\Config

(3)“GUIConf.h”位于文件夹emWin_V646_OBJ_STM32\ConfigOS1

(4)“LCDConf.c“位于文件夹emWin_V646_OBJ_STM32\Sample\LCDConf\GUIDRV_FlexColor \66709_C16_240x320。

(5)“LCDConf.h“位于文件夹emWin_V646_OBJ_STM32\Sample\LCDConf\GUIDRV_FlexColor

(6)“libGUI_v8m_t_vfpv5_soft_OS1.a”位于文件夹emWin_V646_OBJ_STM32\Libs

:_FlexColor为间接接口(如8080)屏幕驱动,_Lin为直接接口(如MIPI-DSI)屏幕,显然,L5使用_FlexColor文件。GUI静态A库选取原则参见下图。

image.png

image.png

待修改文件

🚀️ 【LCDConf.c】

(1)主要包括XY轴像素,颜色模式,驱动类型

image.png

(2)PortAPI接口注册,参照官方手册 13.3.2.1.1 Elements of structure GUI_PORT_API

image.png

(3)配置总线、缓存和硬件函数,参照官方手册 13.7.3.7.1 GUIDRV_FlexColor_SetFunc()

image.png

image.png

(4)配置初始化函数

image.png

🚀️ 【GUIConf.c】

(1)该文件主要用于动态内存空间分配

image.png

image.png

🚀️ 【用户代码】

(1)初始化

image.png

(2)触摸坐标读取与存储,使用中断触发

image.png

(3)使用TE信号限制屏幕刷新

image.png

编译文件

(1)将GUI静态A库类型设置为Lib库

image.png

(2)编译工程,发现90+报错,指向错误类型wchar_t 类型不匹配

image.png

(3)通过添加编译选项“-fno-short-wchar“即可解决,如下图所示

image.png

(4)再次编译,0 Error(s), 0 Warning(s)

测试内容

(1)首先使用 emWin 工具 BmpCvtST 和 FontCvtST 转换位图和中文字体,并添加进工程

(2)烧录工程,验证控件创建、触摸输入、位图以及中文字体

注:未尽细节移步硬汉嵌入式论坛,全网最全、最详细 emWin 入门教程

测试结果

GUI移植测试.gif

至此,健康手环基础界面开发(二)—— GUI移植,全部介绍完毕!

下一期,分享人机界面架构设计和界面开发工作。

image.png
image.png
收藏 评论0 发布时间:2025-3-13 20:02

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版