一、軟件下載:
去官網下載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++;放到中斷函數即可。