
引言在上一章节 健康手环基础界面开发(一)—— 准备工作 中,初步介绍了STM32L562E-DK界面开发相关硬件资源即驱动层开发等前期准备工作。显然,L562Ex并没有如L4R9和U5x9系列具备的图形专用硬件加速外设,但足以应付诸如健康手环(非手表)这类多静态、低刷新、小分辨率的产品开发。 GUI对比“emWin在性能优化、资源占用和工业级稳定性方面仍然表现出色,尤其适合静态界面为主、对实时性和稳定性要求高的工业场景。然而,在需要复杂动画和现代交互的消费类设备中,LVGL和TouchGFX更具优势。”该GUI对比汇总来自DeepSeek,统计结果如下表所示,回答较为中肯,基本符合事实。显然,使用STemWin在STM32L562E-DK平台开发健康手环(非手表)界面基本适用。 STemWin下载在SEGGER官网下载 emWin for STM32,得到压缩文件【emWin_V646_OBJ_STM32】 移植规则主要参考以下文档: (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接口,整个移植过程非常简单。 (2)将上述文件导入工程后,还需添加对应路径。 【其中】: (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库选取原则参见下图。 待修改文件🚀️ 【LCDConf.c】 (1)主要包括XY轴像素,颜色模式,驱动类型 (2)PortAPI接口注册,参照官方手册 13.3.2.1.1 Elements of structure GUI_PORT_API (3)配置总线、缓存和硬件函数,参照官方手册 13.7.3.7.1 GUIDRV_FlexColor_SetFunc() (4)配置初始化函数 🚀️ 【GUIConf.c】 (1)该文件主要用于动态内存空间分配 🚀️ 【用户代码】 (1)初始化 (2)触摸坐标读取与存储,使用中断触发 (3)使用TE信号限制屏幕刷新 编译文件(1)将GUI静态A库类型设置为Lib库 (2)编译工程,发现90+报错,指向错误类型wchar_t 类型不匹配 (3)通过添加编译选项“-fno-short-wchar“即可解决,如下图所示 (4)再次编译,0 Error(s), 0 Warning(s) 测试内容(1)首先使用 emWin 工具 BmpCvtST 和 FontCvtST 转换位图和中文字体,并添加进工程 (2)烧录工程,验证控件创建、触摸输入、位图以及中文字体 注:未尽细节移步硬汉嵌入式论坛,全网最全、最详细 emWin 入门教程 测试结果至此,健康手环基础界面开发(二)—— GUI移植,全部介绍完毕! 下一期,分享人机界面架构设计和界面开发工作。 |
【STM32L562E-DK】健康手环基础界面开发(一)—— 准备工作
STM32L562E-DK 驱动FMC接口的LCD屏
TouchGFX应用移植自定义屏幕
STM32L562E-DK移植lua脚本语言
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
【管管推荐】基于STM32-GUI经验分享篇
TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!
【STM32H7S78-DK】汽车仪表系统
【STM32H7S78-DK评测】TouchGFX (QR Code)二维码生成器
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试