uC/GUI简介
uC/GUI是Micrium公司开发的通用的嵌入式用户图形界面软件。它给任何运用图形LCD的运用程序供给独立于处理器和LCD操控器之外的有用的图形用户接口。能够运用于单一使命环境,也能够运用于多使命环境中。uC/GUI能够运用于任何LCD操控器和CPU的任何尺度的物理显现或许模仿显现中。
uC/GUI的特色如下:
◆ 适用于任何8位/16位/32位CPU,可答应于支撑ANSI C的任何编译器
◆ 适用于任何操控器驱动任何LCD(单色,灰度,或许五颜六色)
◆ 经过装备宏,可支撑任何接口
◆ 可装备显现尺度
◆ 可在LCD的任何一点上显现字符和画位图
◆ 关于显现尺度和速度供给优化进程,编译时刻依赖于选用的优化进程
◆ 支撑虚拟显现,虚拟显现的尺度比实践显现大。
4.2 uC/GUI文件安排
uC/GUI目录下的文件有装备文件目录Config,GUI库函数目录,以及为GUI编写的运用程序目录。下面别离扼要介绍相应目录下的函数,更为具体的文件介绍请参阅我的uC/GUI移植的源代码。
◆ uC/GUI\Config\目录:
GUICONF.h: 装备GUI移植到不同操作体系的选项。在本论文中装备移植到uC/OSII中,答应多使命调用uC/GUI函数。
GUITouchConf.h:装备触摸屏的选项以及编写触摸屏的驱动。本文移植uC/GUI所运用的LCD屏不支撑触摸屏,所以此文件为空。
LCD_Init.C: LCD操控器的初始化文件。
LCD_Conf.h: LCD显现屏的选项文件,包含bpp,调试板形式,水平、竖直方向的分辨率等等。
◆ uC/GUI\GUI\AntiAlias\目录:
这个目录中包含9个文件,处理显现的边际含糊作用,也便是抗锯齿和优化LCD锯齿。液晶屏上画斜线往往都有锯齿,所以经过优化算法进行美化。
◆ uC/GUI\GUI\ConvertColor\目录:
这个目录中包含14个.C文件,触及调色板形式。uC\GUI的调色板形式支撑111形式,222形式,223,323,332,444,555,565,8666等相关形式。我在论文中运用的LCD屏,为单色16级灰度屏,因此不触及到这些形式。但为了坚持UC\GUI文件的完整性,该目录以及目录下14个文件,依然保存在移植文件中。
◆ uC/GUI\GUI\ConvertMono\目录:
此目录下的文件描绘单色显现的不同形式,包含4个文件。
◆ uC/GUI\GUI\Core
此目录下包含129个文件,是uC/GUI的中心部分。包含GUI头文件,GUI显现各种文本,二进制,十进制,十六进制,字符型文本,字符串,在不同的方位显现二进制,十进制,十六进制,字符型文本,字符串等;GUI设置各种字体;GUI的2-D图形库,GUI绘图函数,在各种方位绘各种点,线,位图,多边形,长方形,圆等等;GUI获取函数,获取当时点,线,位图,多边形,长方形,圆,当时字体,当时二进制,十进制,十六进制,字符型文本,字符串等函数;设置GUI画笔函数;GUI支撑的鼠标函数;GUI支撑的键盘函数,GUI支撑的触摸屏函数;GUI设置LCD函数等等。这些函数,在uC/GUI体系中都是有必要的函数。正是这些函数的组合,使得uC/GUI具有杂乱并且齐备的图形用户接口。并且,这些函数的组合,使得uC/GUI能够独自的运用,也能够经过装备文件,移植到各种操作体系中运用。
◆ uC/GUI\GUI\Font
此目录下包含的是uC/GUI支撑的字体。
◆ uC/GUI\GUI\LCDDriver
LCD API目录。该目录下包含许多现已齐备的LCD操控器的驱动程序以及API函数。
◆ uC/GUI\GUI\MemDev
MemDev目录。
MemDev首要用于防止在画交迭图时产生的颤动。uC/GUI函数绘图不运用MemDev时,画图操作直接写到终端上显现,交迭绘图履行时改写屏幕,屡次改写时就会呈现颤动。例如,要在布景色中画图,且在远景中写一些通明的文字,完成的过程便是先画图,然后写文字,那么成果就会呈现文字的颤动。如果在程序中运用MemDev,则一切的履行操作都在MemDev中履行,当一切的操作都履行结束之后,最终的成果才会送到屏幕上显现,因此能够防止屡次改写,然后防止颤动。
此目录下包含这MemDev的一切函数,包含创立MemDev函数,激活MemDev,履行画图操作,显现到终端,删去MemDev函数等等。
◆ uC/GUI\GUI\Touch
触摸屏驱动函数地点目录。uC/GUI只支撑模仿的触摸屏。因此此目录下只包含模仿触摸屏。
◆ uC/GUI\GUI\Widget
此目录包含窗口控件函数,一共46个函数。UC/GUI中窗口控件机制时uC/GUI的完成难点,也是运用难点。运用窗口办理和回调机制,运用窗口控件函数,能够任意在LCD屏幕上完成类似于windows的界面,这样齐备的功能在工业主动化操控和触摸屏运用上有着深远而活跃的含义。
此目录下的函数首要包含uC/GUI的窗口控件,如按钮BUTTON,校验窗CHECKBOX,修改区EDIT,窗口框FRAMEWIN,列表LISTBOX,进度条PROGBAR,音频按钮RADIOBUTTON,滚动条SCROLLERBAR,改动值的灰度条SLIDER,以及文本框TEXT相关的各种函数。
◆ uC/GUI\GUI\WM
此目录包含窗口办理函数,一共52个函数。UC/GUI中,窗口办理中的音讯传递机制和回调机制,也是uC/GUI的完成难点和运用难点。4.3节中将具体介绍这两点。
此目录下的函数首要包含设置、回来、树立布景窗口、父窗口、各种子窗口以及相应的尺度、窗口句柄,起点x,y坐标,窗口宽度,高度,方位等等,还包含改动窗口的巨细,以及最要害的窗口的回调函数,窗口重绘函数等等。
4.3 uC/GUI的窗口办理
4.3.1简介
uC/GUI的窗口办理是一个独自的软件,不是uC/GUI的根本组成部分。具体代码见\uCGUI\GUI\WM。
当运用uC/GUI窗口办理时,任何能显现在显现终端上的内容都包含在一个窗口里边,这个窗口是LCD屏幕上的一个给用户画图或许显现方针的区域。窗口能够是任何尺度的,能够一次在屏幕上显现多个窗口,也能够在其它窗口傍边或之前显现窗口。
窗口办理的几个名词:
◆ 活动窗口:
当时正在用来画图或是显现操作的窗口。
◆ 回调函数
回调函数是由用户界说的,当特定事情产生时,指示图形体系调用特定函数的函数。一般当窗口的内容产生改动时,它们用来主动重绘窗口。例如,窗口内显现一幅位图,当窗口移动时,位图并不会主动移动,此刻,就需要调用回调函数对窗口进行重绘,即,从观众的视点来看,移动窗口和窗口内容。