本文作者:Miler Shao
1、STemWIN到底是个什么东东?先得说说emWin,emWin是德国Segger公司推出的图形界面库(GUI)。STemWIN就是ST公司与SEGGER公司合作而产生的基于SEGGER图形库的专业级图形库。该库只能应用于STM32 MCU硬件,且免费地以LIB文件的形式提供给STM32用户。可以在任意需要LCD/TFT显示的STM32应用产品上构建图形用户界面。
2、为什么要这个图形界面库? 很多产品需要人机交互,人机交互往往需要LCD图形显示,所以就需要在产品开发应用过程中设计LCD图形界面。STemWin提供了很多控件,在制作那些是比较复杂、绚丽的界面时,使用这些控件可以相对方便轻松地完成复杂的界面设计,并大大减少开发设计工作量。
3、在哪里可以找到STemWIN图形库? 它集成在STM32CUBE的固件包里。(比如 STM32CubeF2、STM32CubeF3 和STM32CubeF4、STM32CubeF7)。可在意法半导体的网站上免费下载 (http://www.st.com/stm32cube)。  4、图形库的软件包内含有所有 STemWin 功能吗?
是的, 所交付的锁定的二进制文件在编译阶段已经使能了所有的功能。 
5、最后提交的的二进制文件会不会太庞大? 这个取决于具体应用。编译器仅考虑从外部函数所调用的部分;因此,未使用的资源不会包含在最终应用程序代码当中。
6、STemWin 库该如何配置(在生成二进制文件过程中)? 使用 GUIConf.h 位于Libraries\STemWinLibraryXYZ\Config\)文件来生成 STemWin 二进制文件。 文件内容如下所示: #define GUI_NUM_LAYERS (2) #define GUI_DEFAULT_FONT &GUI_Font6x8 #define GUI_SUPPORT_TOUCH (1) #define GUI_SUPPORT_MOUSE (1) #define GUI_SUPPORT_UNICODE (1) #define GUI_WINSUPPORT (1) #define GUI_SUPPORT_MEMDEV (1) #define GUI_SUPPORT_AA (1) #define WM_SUPPORT_STATIC_MEMDEV (1)
7、如何支持新的 LCD 控制器? 为了支持任意类型的 LCD控制器,用户需要实现两个配置文件: LCDConf.c/.h GUIConf.c/.h (细节可以阅读 ST官方文档AN4323第3.1 节文件的内容。)
8、必须强制使用 FreeRTOS 操作系统吗? 那倒不是, 可以使用任何其它操作系统。但需要对应的GUI_X_OS.c 文件(细节可以阅读ST官方文档AN4323 第3.1.3节)。
9、项目编译时没有报错,但运行应用程序时没有显示输出。 这个问题可能由以下原因产生: 堆栈过小,尤其是堆[HEAP]的大小。 显示控制器初始化出错。 显示接口配置出错。
10、上面提到的文档AN4323哪里去找? 简单,你可以去ST 中文网WWW.STMCU.COM.CN或者英文网 WWW.ST.COM 搜索STEMWIN或AN4323 都可以。 |