摘要
本篇主要介绍STemwin在STM32H743上的移植,基于freeRTOS操作系统。假设freeRTOS已经移植成功,不会移植的童鞋请参考以前的推送或者找官方例程学习。
开发环境
IDE: IAR 8.3.2
freeRTOS V10.2.1
STemwin 5.44
硬件板卡:正点原子STM32H743开发板
工程移植
STemwin是图形界面厂商emwin专门适配给ST的芯片的,源码不开源,只能调用API使用,不过效果确实不错,我们以官方的例程为例子来做介绍。硬件平台使用原子开发板,软件不使用开发板代码。
修改GUI_X_OS.C文件,可以在官方例程中找到相近的修改,
添加库文件
屏幕用SDRAM来做缓存,所以我们需要使用SDRAM,修改SDRAM初始化,配置以及其他函数,这里不在赘述。
使能CRC时钟,因为需要用到CRC.
修改SDRAM对应的地址
修改触摸驱动
因为硬件使用FT5206驱动触摸屏,所以我们选择FT5336驱动类似修改
官方的驱动使用的是硬件IIC,而原子开发板触摸没有接在硬件IIC上,我们需要完成这部分软件IIC的驱动,你可以自己实现,或者参考开发板。软件IIC的实现,这部分请自行完成就不展开了,不是本次介绍的重点
定义GUI任务
定义触摸屏扫描时间timer
完成GUI任务的实现
为了验证我们的移植,添加官方的DEMO进来
在触摸屏的扫描timer回调函数里去更新触摸屏坐标
修改函数如下
编译无误后,可下载到板子验证,触摸流畅,显示正常,如果显示闪烁,调低LCD时钟。
怎么样,这些例程很炫,实现了很多功能,可以供开发参考应用。