这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [原创]CARBON----基于嵌入式系统的轻量级图形用户接口介绍

共1条 1/1 1 跳转至

[原创]CARBON----基于嵌入式系统的轻量级图形用户接口介绍

菜鸟
2004-11-05 19:33:12     打赏

CARBON是一款基于嵌入式操作系统的轻量级图形用户接口,可应用于使用字符式LCD的嵌入式设备的人机交互接口的开发。CARBON使用标准C语言并采用模块化设计,包含输入虚拟层、显示虚拟层、输入法、定时器、数据库、控件层、页面层和菜单树等模块,其中与键盘、LCD等硬件相关的输入虚拟层和显示虚拟层的代码量小于总代码量的5%,用户可以方便的将CARBON移植到不同的硬件平台。CARBON拥有类似于Windows的窗口显示特性和消息传递机制,支持异步消息激活(如系统异常引发的警告框),发送到系统的输入消息(如按键、定时器等)依次按照页面的顺序进行传递,直到消息被处理或遗弃。CARBON的菜单树模块是一个菜单开发接口,用户使用菜单树实现设备的菜单,可以节省大约70%的工作量,在不改变源代码的情况下,通过配置文件可以任意修改命令在菜单中的位置。

控件层,实现了绝大部分的控件,包括:

* 按钮(Button);

* 静态文本(Static);

* 列表控件(List);

* 单选、多选控件(Selection, Radio);

* 进度条(Progress bar);

* 滚动条(Scoll bar);

* 滑动条(Adjust bar);

* 输入控件(Edit);

页面层,将控件集成到一个容器实现特定功能,CARBON实现的通用页面包括:

* 对话框(Dialog box);

* 输入框(Edit box);

* 时间、日期输入框(Date, time Edit box);

* IP地址输入框(Ip address edit box);

* 菜单框(Menu box);

* 列表框(List box);

* 进度框(Progress box);

* 调节框(Adjust box 调节一个连续量);

* 等待框(Wait box 等待一个特定事件的发生);

* 选择框(Select box);

* 密码输入框(Password box);

数据库,CARBON数据库是一个基于文本的轻量级数据库,目前最多存储1000条记录、每个记录有四个字段;

输入法,CARBON支持英文、符号和数字的输入,中文输入正在开发中;

定时器,支持最小10MS定时,同时最多支持50个定时器,到时后向页面管理模块发送到时消息;

菜单树,通过菜单配置文件产生菜单树,采用多叉树数据结构存储设备的菜单结构,根据节点类型自动选择使用何种页面显示节点,能够对节点进行分级密码保护。菜单的进入和退出由菜单树管理,用户只需关注菜单命令的执行。通用节点(如配置项输入节点)的配置加载和保存也通过菜单树统一管理。

显示虚拟层,是CARBON与显示设备的接口,页面管理模块通过这个接口将页面数据转化为显示设备命令并发送的显示设备显示,用户通过编写该部分接口,可以使CARBON应用于各种显示设备而无需更改其他模块代码。

输入虚拟层,输入设备驱动调用输入虚拟层接口向页面管理主控程序发送输入消息,输入消息包括:按键消息(按下、抬起和按键长按)、输入法消息(输入的英文、中文字符)和用户自定消息。消息格式与Windows消息格式相同。




关键词: 原创     CARBON----     基于     嵌入式     系统         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]