文档介绍:第1章μC/GUI的介绍μC/GUI μC/GUI 是一种用于嵌入式应用的图形支持软件。它被设计用于为任何使用一个图形 LCD的应用提供一个有效的不依赖于处理器和 LCD 控制器的图形用户接口。它能工作于单任务或多任务的系统环境下。μC/GUI 适用于使用任何LCD 控制和CPU 的任何尺寸的物理和虚拟显示。它的设计是模块化的,由在不同的模块中的不同的层组成。一个层,称作 LCD 驱动程序,包含了对LCD 的全部访问。μC/GUI 适用于所有的CPU,因为它100%由的 ANSI 的C 语言编写的。μC/GUI 很适合大多数的使用黑色/白色和彩色LCD 的应用程序。它有一个很好的颜色管理器,允许它处理灰阶。μC/GUI 也提供一个可扩展的2D 图形库和一个视窗管理器,在使用一个最小的RAM 时能支持显示窗口。本文档的目的本指南描述如何安装,配置和在嵌入式应用中使用μC/GUI 图形用户界面。它也说明了软件的内部结构。假设本指南假定你对C 编程语言已经具有一个扎实的认识。如果你觉得你对C 语言的认识不是很充分的话,我们推荐该由Kernighan 和Richie 编写的“C 语言编程语言”给你,它描述了程序设计标准,而在新版中,也包含了ANSI 的C 语言标准。汇编语言编程的知识不需要。第1页μC/GUI 中文手册第1章μC/ 需求在你使用μC/GUI 进行软件开发时,并不需要一个目标系统;只需要使用模拟器,大多数软件就能够进行开发。然而,最后的目的通常是能够在一个目标系统上运行该软件。目标系统(硬件)你的目标系统必须: ?有一个CPU(8/16/32/64 位) ?有最少的RAM 和ROM ?有一个完全的图形LCD(任何类型和任何分辩率) 内存需求的变化取决于软件的哪些部分被使用以及你的目标编译程序的效率有多高。所以指定精确值是不可能的,但是下面的数值适合典型系统。小的系统(没有视窗管理器)? RAM:100 字节?堆栈:500 字节? ROM:10~25KB(取决于使用的功能) 大的系统(包括视窗管理器和控件)? RAM:2~6KB(取决于所需窗口的数量) ?堆栈:1200 字节? ROM:30~60KB(取决于使用的功能) 注意,如果你的应用程序使用许多字体的话,ROM 的需求将增加。以上所有的数值都是粗略的估计,不能得到保证。开发环境(编译程序)使用什么样的CPU 并不重要;仅仅需要一个与ANSI 兼容的C 编译器。如果你的编辑器有一些限制,请告知我们,我们将通知你在编译软件时是否会带来问题。我们所知道的任何用于16/32/64 位CPU 或者DSP 的编译器都可以使用;大多数的8 位编译器也可以使用。一个C++编译器并不需要,不过可以使用。因此,如果想要的话,应用程序也可以用C++第2页μC/GUI 中文手册第1章μC/GUI的介绍语言来编制。 μC/GUI 的特点μC/GUI 被设计用于给使用一个图形LCD 的任何应用程序提供一个高效率的,与处理器和LCD 控制器无关的图形用户界面。它适合于单一任务和多任务环境,专用的操作系统或者任何商业的实时操作系统(RTOS)。μC/GUI 以C 源代码形式提供。它可以适用于任何尺寸的物理和虚拟显示,任何LCD 控制器和CPU。其特点包括下列这些: 一般特点?任何8/16/32 位CPU;只需要一个与ANSI 兼容的C 编译器。?任何控制器支持(如果有合适的驱动程序)的任何(单色的,灰度级或者彩色)LCD。?在较小显示屏上,可以不要LCD 控制器工作。?使用配置宏可以支持任何接口。?显示屏大小可配置。?字符和位图可能是写在LCD 上的任一点,而不仅仅局限于偶数的字节的地址。?程序对大小和速度都进行了最优化。?允许编译时的切换以获得不同的优化。?对于较慢的LCD 控制器,LCD 能够被存储到内存当中,减少访问的次数使其最小,从而得到非常高的速度。?清晰的结构。?支持虚拟显示;虚拟显示能够比实际的显示表现更大尺寸的内容。图库?支持不同颜色深度的位图。?有效的位图转换器。?绝对没有使用浮点运算。?快速线/点绘制(没有使用浮点运算)。?非常快的圆/多边形的绘制。?不同的绘画模式。字体?为基本软件提供了不同种类的字体:4*6,6*8,6*9,8*8,8*9,8*16,8*17,8*18,24*32,以及8,10,13,16 等几种高度(以象素为单位)的均衡字体。更多的信息,参见第25 章:“标准字体”。第3页μC/GUI 中文手册第1章μC/GUI的介绍?可以定义和简便地链接新的字体。?只有用于应用程序的字体才实际上与执行结果链接,这样保证了最低的ROM 占用。?字体可以分别在X 轴和Y 轴方向上充分地缩放。?提供有效的字体转换器,任何在你的主系统(即Microso