接着在工程中添加STemwin_Config和STemwin_Lib两个文件夹。在STemwin_Config中,将GUIDRV_Template.c,LCDConf_FlexColor_Template.c,GUIConf.c,GUI_X.c,GUI_X_Touch_Analog.c添加其中。本程序没有使用操作系统以及使用CM3为核心的STM32F103RCT6,因此在STemwin_Lib中添加STemWin522_CM3_Keil文件,如果使用操作系统,必须选择STemWin522_CM3_OS_Keil.lib,同时GUI_X.c更换为带相应操作系统名称的文件。
这里再说明一下STemwin_Config中各文件的含义。
GUIDRV_Template.c为STemwin提供画点、读点、画线等函数,而这些需要用户去提供。一般在TFT驱动程序中写好画点TFTLcdWirteColorData(unsigned int color)
和读点LCD_ReadPoint(u16 x,u16 y)函数,再配合设置区域TFTLCD_SetAreaXY(unsigned int x,unsigned int y)和写寄存器函数TFTLCD_WR_REG(0x2C);即可完成配置。
GUIDRV_Template.c中_SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex)函数填写:
_SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex)
GUIDRV_Template.c中_GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)函数填写:
_GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)
GUIDRV_Template.c中_FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1)函数填写:
_FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1)
GUIDRV_Template.c中_DrawBitLine16BPP(GUI_DEVICE * pDevice, int x, int y, U16 const GUI_UNI_PTR * p, int xsize)函数填写:
_DrawBitLine16BPP(GUI_DEVICE * pDevice, int x, int y, U16 const GUI_UNI_PTR * p, int xsize)
LCDConf_FlexColor_Template.c为STemwin提供驱动屏幕的外部信息及初始化。一般需要用户根据使用的屏幕定义宏变量XSIZE_PHYS、YSIZE_PHYS、VXSIZE_PHYS、VYSIZE_PHYS以及改写LCD_X_Config(void)函数。
LCDConf_FlexColor_Template.c中宏变量设置:
宏变量设置
LCDConf_FlexColor_Template.c中LCD_X_Config(void)函数填写:
LCD_X_Config(void)
GUIConf.c为STenwim提供相应内存配置。由于ST,32F103RCT6内存小,所以在实际填写中需要注意合理填写。
GUIConf.c
GUIConf.h为STenwim提供相应配置,如是否使用操作系统,是否使用游标,是否支持触摸等信息。
GUIConf.h
GUI_X.c无需配置,直接使用STemWinLibrary522文件夹中自带的文件即可。再次说明一下,如果使用操作系统,请将该文件更换为包含相应操作系统的文件。例如使用Keil自带的RTX,则应使用GUI_X_RTX.c文件并做相应的修改。
GUI_X_Touch_Analog.c为为STenwim提供触摸信息。这里用户在GUI_TOUCH_X_MeasureX(void)和GUI_TOUCH_X_MeasureY(void)分别填写触摸传感器提供的X和Y轴的坐标。
|