一、软件下载:
去官网下载STemWIN库,en.stemwin.zip,目前是5.32版本
同时下载参考手册
另一个参考文档STemWin532.pdf,在下载的压缩包中:
en.stemwin\STemWin_Library_V1.2.0\Libraries\STemWinLibrary532\Documentation
二、加载配置文件
基础要求,目前你的stm32系统应该能够正确的用LCD显示。
配置主要是把LCD的驱动加载到STEmWin的接口函数中,还有给GUI分配内存、配置时钟等。
把库中的如下文件放入你的工程中,MDK为例:
加入工程:
上图中的A需要根据实际选择,选择cm3或cm4等,选择有无OS等。
三、具体配置
分配内存
GUIConf.h中配置是否用操作系统,使用层数,是否使用触摸屏等
在LCDConf_FlexColor_Template.c中,配置显示格式,连接GUI和LCD的驱动
下图,A配置显示函数,B配置图片格式(与分配内存的大小有关,以及与显示图片格式有关)
C配置液晶的大小。
由于上部配置使用模板函数,则需要GUIDRV_Template.c在这些中来配置LCD所用的函数,建立连接
涉及到函数:
static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex)
static unsigned int _GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1)
static void _DrawBitLine16BPP(GUI_DEVICE * pDevice, int x, int y, U16 const GUI_UNI_PTR * p, int xsize)
注:可根据具体需要进行优化其它函数
四、测试代码
GUI_Init();
GUI_SetBkColor(GUI_WHITE);
GUI_SetColor(GUI_RED);
GUI_Clear();
GUI_DispStringAt("Hello world!", 0, 0);
GUI_DispStringAt("Hello world!", 500, 250);
五、GUI_Delay的使用
如果想使用这个函数,需要给GUI提供时钟,可以是定时器或者是系统心跳。然后把OS_TimeMS++;放到中断函数即可。