第十二讲:ucGUI

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式GUI —— ucGUI
能支持多种环境的GUI,可以以多任务形式运行 或者以前后台模式运行 商用化,但功能相对简单

GUI的两种模式

Windows模式

采用类似windows的API和相应的消息机制 ucGUI、MicroWindows、miniGUI

C/S模式

采用一个XServer,所有的显示都以客户端的形式请 求服务 Nano-X

如果需要启动多任务,需要配置GUI
ucGUI多任务内核接口

ucGUI主要使用内核的资源保护功能,内核接口 函数如下:
输入设备抽象层IAL

基本用户输入设备

键盘(获取键值) 鼠标、触摸屏(获取坐标信息)

ucGUI并非使用设备提供的接口函数,而是提供 函数给驱动程序调用
输入设备抽象层IAL

写入显示数据

Graphic User Interface

图形化的用户界面,提供友好的人机接口

体积小 运行时耗用系统资源少 层次化结构,易移植

输入设备硬件抽象层:IAL 图形设备硬件抽象层:GAL

可靠性高
嵌入式GUI —— GWES

WINCE的GWES(图形、窗口、事件子系统)

由应用程序接口(API)、用户接口(UI)和图形设备 接口(GDI)组成,包含了消息机制
嵌入式GUI —— QTE

Trolltech公司的产品

QT、QTE、QTOPIA 跨平台、功能强大,但资源消耗多
嵌入式GUI —— MINIGUI
魏永明创建的嵌入式GUI中间件 可以以多线程、多进程、以及单任务运行 比较成熟的商用系统

鼠标和触摸屏属于光标指针输入设备

键盘驱动调用接口
图形设备抽象层GAL

ucGUI需要被提供一个硬件驱动函数集,在系统 中称为LCD_L0_XXX函数

硬件初始化及显示控制
图形设备抽象层GAL

物理绘制函数

设置函数

可以不使用LUT而直接使用 Passive方式
AR-320240GRICW

320*240 CSTN屏 256色
实验系统连接电路
使用LCD的基本驱动

初始化LCD

配置LCDC的寄存器,配置LUT,使能显示 基本函数LCD_Init、LCD_On等 基本函数SetPixel 利用一些特殊功能如剪切等

STN(Super Twisted Nematic )

OLED显示设备

新兴的显示设备,用薄有机材料和玻璃基板构成

主动发光,不存在视角问题 非常轻、薄,现在有的OLED可以随意弯曲 因为无需背光,所以省电 寿命不长、难以大型化
显示设备接口

数据信号

R、G、B(或者灰度信号) 帧同步、行同步、移位时钟信号
ucGUI结构层次


核心层提供基本图形操作 应用程序接口 WM提供窗体管理接口和 窗体消息机制,图形接口 建立在核心层之上 核心层建立在GAL之上以 进行实际图形操作,IAL 接口提供用户输入接口
ucGUI的代码结构

Application中存放应用程序 Config中存放配置头文件 GUI目录下存放系统代码


很多情况下,CSTN每个象素点使用RGB 3个点表示, 由于每个点为1bit,所以实际控制每个点的亮度就变成 了控制每个点在一定帧数内被点亮的次数
LCDC—SED13706

色彩表示和LUT

调色板的概念 LUT索引:显存中每一个象素点 的表示 色彩值:LUT中对应索引位置的 数值表示的色彩

支持多级灰度 支持多种彩色模式,111,222,332,565等 每一种字符的显示图形 字符信息、编码范围等 字符显示的大小

使用GUI_FONT来描述字体显示,支持unicode

窗口管理器

这个模块对ucGUI来说并非必须,但用其可以方 便地构建一个事件驱动系统
窗体消息机制

ucGUI的窗体消息机制与操作系统的消息机制没 有关系,WM负责接收外部事件并调用相应的回 调函数处理

使用专用LCD控制器

处理器与LCD连接示意
LCD和LCM

LCD与LCM

LCD一般指的是LCD显示屏,不带控制器,使用前面 提到的LCD接口 LCM指的是集成了控制器的LCD模块,一般使用通用 并行总线接口或者串行接口
LCDC—SED13706
片内80K显存 与CPU连接采用17位地址线和16位数据线 最大支持64K色STN 对STN采用FRM(FrameRate Modulation)方式驱动
窗体控件
控件本来就是一个窗体,所以使用空间必须使用 WM 控件一般作为子窗口被创建,控件的特点在其 Paint和CallBack函数中体现出来

ucGUI多任务环境下的使用
多任务环境下以单任务运行 多任务环境下以多任务运行


以一个任务专门用于更新显示 一般界面最好只使用一个任务(单窗口显示)
TFT(Thin Film Transistor)

薄膜晶体管 为每一个像素设置一个开关,可以独立控制 (ActiveMatrix) 对比度高、色彩鲜艳、耗电大 无源Passive型LCD 功耗小,反应速度慢 CSTN,在STN中将每一个像素分为三点,分别通过彩 色滤光片显示红、绿、蓝三色,色彩不丰富
控制信号

接口控制信号的意义
处理器与显示设备的连接

直接连接

使用MCU连接,用IO模拟控制线,用数据线连接LCD 数据线 利用中断触发对屏幕的刷新 占用非常多的处理器资源,在大屏或彩屏时不适用 MCU通过总线(地址和数据)与LCDC连接 LCDC提供LCD接口信号 LCDC自动刷新LCD,并能提供一些其他功能

Core存放GUI核心代码 Font存放字体文件 Widget存放一些窗体控件 WM存放窗口管理器代码 LCDDriver存放LCD驱动程序 其他部分为一些2D函数,包括颜色 管理系统和抗锯齿等
ucGUI中的色彩管理和字体管理

按照不同的模式提供了色彩值到索引值之间的转 换,实现调色板功能
十二:GUI原理
嵌入式系统显示设备

LED

LED点阵、数码管等 阴极射线管显示设备,模拟显示设备 液晶显示设备 有机发光显示设备
CRT

LCD(Liquid Crystal Display)

OLED(Organic Light Emitting Display)

LCD显示设备

相关文档
最新文档