STEmWin移植無操作系統

一、軟件下載:

去官網下載STemWIN庫,en.stemwin.zip,目前是5.32版本

https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-library-expansion/stemwin.license=1585185754775.product=STemWin.version=1.2.0.html

同時下載參考手冊

https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-library-expansion/stemwin.license=1585185754775.product=STemWin.version=1.2.0.html#

 

另一個參考文檔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++;放到中斷函數即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章