目前micrium官网ucgui版本是v5.26Trial版本,无源代码,只有lib文件,现在网上流传最多的源码是ucgui3.90或3.98版本的,这些源码没有完整官方版本。emWin是segger公司的,segger与ST等公司都有合作,使用ST的芯片可以免费使用emWin,STemWin:http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1734/PF259225?s_searchtype=partnumber,目前版本是5.22。
移植环境:
- 芯片STM32F103ZET6
- TFTLCD驱动芯片ILI9341,带有电阻触屏
- 编译环境Keil uVision5
- 不带OS
在移植之前,我们应该要有LCD的基本驱动函数,包括初始化、点亮一个像素等(这些驱动文件不能和emWin中的文件重名,即不能命名为LCD.h、LCD.c)。在文件夹STemWin_Library_V1.1.2中,有以下几个文件:
其中Libraries中就有emWin:
Config是emWin配置文件
Documentation是Segger公司的用户手册
inc是头文件
Lib是将源码封装成的lib
OS是带OS和不带OS的GUI文件
Software里有一些跟图片、字体相关的实用小工具
我们可以将整个STemWin_Library_V1.1.2放入我们的Keil工程中,然后加入以下4个文件:
- GUI_X.C:STemWinLibrary522\OS
- GUIConf.c,LCDConf_FlexColor_Template.c:STemWinLibrary522\Config
- STemWin522_CM3_Keil.lib :STemWinLibrary522\Lib
接着我们开始修改文件
- GUIConf.c: