STemwin移植

时间:2024-04-03 09:47:24

摘要

本篇主要介绍STemwin在STM32H743上的移植,基于freeRTOS操作系统。假设freeRTOS已经移植成功,不会移植的童鞋请参考以前的推送或者找官方例程学习。

开发环境

IDE: IAR 8.3.2      

freeRTOS   V10.2.1    

STemwin   5.44

硬件板卡:正点原子STM32H743开发板

工程移植

STemwin是图形界面厂商emwin专门适配给ST的芯片的,源码不开源,只能调用API使用,不过效果确实不错,我们以官方的例程为例子来做介绍。硬件平台使用原子开发板,软件不使用开发板代码。

STemwin移植

修改GUI_X_OS.C文件,可以在官方例程中找到相近的修改,

STemwin移植

添加库文件

STemwin移植

屏幕用SDRAM来做缓存,所以我们需要使用SDRAM,修改SDRAM初始化,配置以及其他函数,这里不在赘述。

STemwin移植

使能CRC时钟,因为需要用到CRC.

修改SDRAM对应的地址

STemwin移植

修改触摸驱动

STemwin移植

因为硬件使用FT5206驱动触摸屏,所以我们选择FT5336驱动类似修改

STemwin移植

官方的驱动使用的是硬件IIC,而原子开发板触摸没有接在硬件IIC上,我们需要完成这部分软件IIC的驱动,你可以自己实现,或者参考开发板。软件IIC的实现,这部分请自行完成就不展开了,不是本次介绍的重点

STemwin移植

定义GUI任务

STemwin移植

定义触摸屏扫描时间timer

STemwin移植

完成GUI任务的实现

STemwin移植

为了验证我们的移植,添加官方的DEMO进来

STemwin移植

在触摸屏的扫描timer回调函数里去更新触摸屏坐标

STemwin移植

修改STemwin移植函数如下

STemwin移植

编译无误后,可下载到板子验证,触摸流畅,显示正常,如果显示闪烁,调低LCD时钟。

STemwin移植STemwin移植STemwin移植

怎么样,这些例程很炫,实现了很多功能,可以供开发参考应用。