没有合适的资源?快使用搜索试试~ 我知道了~
首页UCGUI中文手册:嵌入式图形界面系统详解
UCGUI中文手册:嵌入式图形界面系统详解
需积分: 1 1 下载量 119 浏览量
更新于2024-07-18
收藏 3.08MB PDF 举报
UCGUI中文参考资料是一份详尽的手册,针对UCGUI这款嵌入式图形支持系统提供了全面的介绍和指南。该文档旨在帮助开发人员在嵌入式应用环境中有效地安装、配置和利用UCGUI的图形用户接口(GUI),同时深入解析其内部设计架构。 UCGUI是一个高度模块化的设计,完全用标准C语言编写,适用于单任务或多任务系统,兼容各种LCD控制器和CPU,不论是真实显示还是虚拟显示。它特别强调了对黑白和彩色LCD的广泛支持,具有出色的颜色管理和低内存占用的2D图形库,以及一个轻量级的窗口管理体系,使得其在资源受限的嵌入式环境中也能高效运作。 文档的前提是读者需具备扎实的C语言编程基础,推荐使用Kernighan和Richie的《C语言程序设计》作为入门读物,因为它符合最新的ANSIC标准。在开发UCGUI图形应用时,虽然大部分可以在模拟器环境下进行,但最终目标是在实际的硬件目标系统上运行,因此,系统要求包括但不限于: 1. CPU:支持8/16/32/64位架构。 2. 必要的RAM和ROM存储空间,需求根据选择的UCGUI功能模块和目标系统上编译器的效率而变化。 3. LCD显示器,支持各种类型和分辨率。 这份文档详细说明了如何满足这些要求,并指导开发者如何配置UCGUI以适应特定的硬件环境。无论是初学者还是经验丰富的开发人员,这份手册都是理解和利用UCGUI进行嵌入式图形开发的重要参考资源。
资源详情
资源推荐
第 1 章 µC/GUI 的介绍
• 可以定义和简便地链接新的字体。
• 只有用于应用程序的字体才实际上与执行结果链接,这样保证了最低的 ROM 占用。
• 字体可以分别在 X 轴和 Y 轴方向上充分地缩放。
• 提供有效的字体转换器,任何在你的主系统(即 Microsoft Windows)上的有效字体
都可以转换。
字符串/数值输出程序
• 程序支持任何字体的十进制,二进制,十六进制的数值显示。
• 程序支持任何字体的十进制,二进制,十六进制的数值编辑。
视窗管理器(WM)
• 完全的窗口管理器包括剪切在内。一个窗口的外部区域的改写是不可能的。
• 窗口能够移动和缩放。
• 支持回调函数(可选择用法)。
• WM 使用极小的 RAM(大约每个窗口 20 字节)。
可选择用于PC外观的控件
• 控件(窗口对象)有效。它们一般自动运行,并且易于使用。
触摸屏和鼠标支持
• 对于比如按钮控件之类的窗口对象,µC/GUI 提供触摸屏和鼠标支持。
PC工具
• 模拟器及观察器。
• 位图转换器。
• 字体转换器。
范例和演示
关于µC/GUI 能做什么,为了给你一个更好的概念,我们准备有不同的演示作为可运行的
仿真程序,在目录 sample\EXE 下。范例程序的源代码位于 Sample 目录。文件夹 Sample\GUIDemo
包括一个展示大部分µC/GUI 特点的应用程序。
第 4页
µC/GUI 中文手册
第 1 章 µC/GUI 的介绍
1.3 估价板
一个完全的评估板包括一个带有 LCD 的演示板,一个 C 语言编译器和一个有效的范例工
程。它已经设计好,主要测试和验证µC/GUI,并且它可用于熟悉这个软件。
评估板
评估板包括 Mitsubishi M30803 CPU 和 SED13705 LCD 控制器(包括原理图和技术资料)。
LCD(320×240 像素)或者单色的 LCD,1/4VGA 彩色显示 LCD 或者 TFT。
更详细的资料,请访问我们的网站:
www.micrium.com。
1.4 如何使用本手册
该手册说明了如何安装,配置和使用µC/GUI。它描述了软件的内部结构和µC/GUI 提供的
所有的功能(应用程序接口,或者 API)。
在实际上使用µC/GUI 之前,你应该阅读或者至少浏览本手册,对该软件做到耳濡目染。
推荐下列步骤:
• 拷贝µC/GUI 文件到你的电脑。
• 仔细研究第 2 章:“入门指南”。
• 使用模拟器多熟悉一理这个软件能作什么(参考第 3 章:“仿真器”)。
• 使用本手册其余部分的参考资料扩展你的程序。
第 5 页
µC/GUI 中文手册
第 1 章 µC/GUI 的介绍
排版上的语法约定
本手册使用下列印刷惯例:
类型 用于
Body 正文文字。
Keyword
那些你在命令-提示中输入的文字,或者那些能在显示
屏上看得见的文字(即系统函数,文件或者路径名)。
Parameter API 函数中的参数。
Sample 在程序范例中的范例代码。
New Sample 那些已经被加到一个已存在有程序范例中的范例代码。
1.5 屏幕和坐标
屏幕由能够被单独控制的许多点组成。这些被称作像素。大部分µC/GUI 在它的 API 中向
用户程序提供的文本和绘图函数能够在任何指定像素上写或绘制。
水平刻度被称作 X 轴,而垂直刻度被称作 Y 轴。一个二维坐标用 X 轴和 Y 轴坐标表示,
即值(X,Y)。在程序中需要用到 X 和 Y 坐标时,X 坐标总在前面。显示屏(或者一个窗口)的
左上角为一默认的坐标(0,0)。正的 X 值方向被总是向右;正的 Y 值方向总是向下。上图说
明该坐标系和 X 轴和 Y 轴的方向。所有传递到一个 API 函数的坐标总是以像素为单位所指定。
1.6 如何连接LCD到微控制器
µC/GUI 处理所有的 LCD 访问。事实上任何 LCD 控制器都能够被支持,不取决于它是如何
访问的。至于细节,请参阅第 20 章:“低层配置”。此外,如果你的 LCD 控制器不被支持的
话,请与我们保持联系。我们目前为全部有销售 LCD 控制器编写驱动程序,对于你打算使用
第 6页
µC/GUI 中文手册
第 1 章 µC/GUI 的介绍
的 LCD 控制器已经有一个经过验证的驱动程序提供。在你的应用程序中写这样的用于访问 LCD
的程序(或者宏)通常非常简单。如果你的目标硬件有需要的话,Micrium 公司可以提供定制
的服务。
LCD 如何与系统连接并不真的重要,只要它通过软件以某种方式达到,可能是按多种方式
完成的。大多数这些接口通过一个提供源代码方式的驱动程序来支持。这些驱动程序通常不
需要修改,但是用于你的硬件,要通过修改文件 LCDConf.h 进行配置。有关根据需要如何定
制一个驱动程序到你的硬件在第 22 章:“LCD 驱动程序”中说明。最通用的访问 LCD 的方式
如下所描述。如果你只是想领会如何使用µC/GUI,你可以跳过本节。
带有存储映像LCD控制器的LCD
LCD 控制器直接连接到系统的数据总线,意思是能够如同访问一个 RAM 一样访问控制器。
这是一个很有效的访问 LCD 控制器方法,最值得推荐。LCD 地址被定义为段 LCDSEG,为了能
访问该 LCD,连接程序/定位器只需要告知这些段位于什么地方。该位置必须与物理地址空间
中访问地址相吻合。驱动程序对于这类接口是有效的,并且能用于不同的 LCD 控制器。
带有LCD控制器的LCD连接到端口/缓冲区
对于在快速处理器上使用的较慢的 LCD 控制器,端口-连线的使用可能是唯一的方案。这
个访问 LCD 的方法有稍微比直接总线接口慢一些的缺点,但是,特别是使用一个减少 LCD 访
问次数的高速缓存的情况,LCD 刷新并不会有大的延迟。所有那些需要处理的是定义程序或者
宏,设置或者读取与 LCD 连接的硬件端口/缓冲区。这类接口也被用于不同的 LCD 控制器的不
同的驱动程序所支持。
特殊方案:没有LCD控制器的LCD
LCD 可以不需要 LCD 控制器而进行连接。在这种情况下,LCD 数据通常通过控制器经由一
个 4 或 8 位移位寄存器直接提供。这些特殊的硬件方案有价格便宜的优点,但是使用上的缺
点是占用了大部分有效的计算时间。根据不同的 CPU,这会占到 CPU 的开销的 20%到几乎 100%
之间;对于较慢的 CPU,它根本是极不合理的。这类接口不需要一个特殊的 LCD 驱动器,因为
µC/GUI 简单地将所有显示数据放入 LCD 高速缓存中。你自己必须写硬件相关部分软件,周期
性地将数据从高速缓存的内存传递到你的 LCD。
对于 M16C 和 M16C/80,传递图像到显示屏中的范例代码可以用“C”和优化的汇编程序实
现。
第 7 页
µC/GUI 中文手册
第 1 章 µC/GUI 的介绍
1.7 数据类型
因为 C 语言并不提供与所有平台相吻合的固定长度的数据类型,大多数情况下,µC/GUI
使用它自己的数据类型,如下表所示:
数据类型 定义 说明
I8 signed char 8 位有符号值
U8 unsigned char 16 位无符号值
I16 signed short 16 位有符号值
U16 unsigned short 16 位无符号值
I32 signed long 32 位有符号值
U32 unsigned long 32 位无符号值
I16P signed short 16 位(或更多)有符号值
U16P unsigned short 16 位(或更多)无符号值
对于大多数 16/32 位控制器来说,该设置将工作正常。然而,如果你在你的程序的其它
部分中有相似的定义,你可能想对它们进行修改或者重新配置。一个推荐的位置是置于配置
文件 LCDConf.h 中。
第 8页
µC/GUI 中文手册
剩余430页未读,继续阅读
ly8788
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功