专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
UCGUI 模拟器分析
2019-04-13 21:16
发布
生成海报
站内文章
/
模拟电子
9395
0
1404
Ucgui
模拟器是通过
WIN32
程序来模拟嵌入式设备在
WINDOWS
上显示,那它是如何模拟的呢?(另需参照
UCGUI
的模拟器
UCGUISim
的设计文档
)
Ucgui
模拟器程序主要完成
以下几件事
一.
创建模拟器主窗口,这个窗体包括一些模拟器控制菜单,如打开
LOG
记录
/
打开调 {MOD}板显示窗体
/
新建
LCD
模拟器窗体,以及暂停
/
继续模拟器。创建的窗口如下
二.
创建一个
LCD
模拟显示窗口并初始化其显示所需的各种数据结构,
LCD
窗口的大小由
UCGUI
中
LCDConf.h
中配制时指定
(LCD_XSIZE/LCD_YSIZE)
,及其它的诸如每个象素占用多少位
(LCD_BITSPERPIXEL)
,首先分配一块足够大的显存
(4M)
并初始化这块数据为
0
,每个象素占用不大于
8
位时模拟显示屏幕需要用到
8
位图,还必须初始化要用到的调 {MOD}板。
三.
提供操作
LCD
模拟显示屏幕的几个基本图形函数,
UCGUI
是一个设计层次非常清晰的图形系统,它将
GUI
的底层图形功能作为一层向上层提供最基本的图形功能,只有这一层才与具体的硬件相关,这一层包括基本的画点函数
/
矩形填充函数
/
调 {MOD}板初始化函数
/
颜 {MOD}索引与
RGB
的转换函数。
四.
提供上层的
LOG
记录接口的实现,主要完成
UCGUI
中调试信息的输出,是否输出调试信息可以由
UCGUI
中的一个开关设置。
五.
开启一个新的线程,在此线程中调用
System/Main.c
中的
main()
函数,此函数中再调用
MainTask()
函数,这个函数即为我们在模拟器中编程必须提供的一个函数,在单任务情形下
UCGUI
的程序均写在
MainTask
函数当中,供模拟器开启的线程调用。这里必须分清楚:主线程创建模拟器主窗口及
LCD
模拟窗口;
UCGUI
图形应用程序以新开的另外一个线程运行,这个线程结束时则
UCGUI
图形应用程序结束。模拟器显示模拟程序是通过
UCGUI
对
LCD
的操作(
4M
显存的操作),所以通过对
4M
显存的相应显示就
OK
了
(LCDSIM.c).
六.
从
LCD
模拟器窗口消息函数当中接收
KEY
消息及
MOUSE
消息,并通过
UCGUI
中的
KEY
及
MOUSE
接口传送到
UCGUI
内部以驱动
UCGUI
事件消息
LOOP
。
利用如下结构体存储需转换的键盘,映射到
UCGUI
键值
当模拟器响应时,转化到
UCGUI
的结构体,让
UCGUI
响应
Ta的文章
更多
>>
lwIP(V1.0.0) RAW API函数源码分析4----tcp_accept()函数
0 个评论
高质量嵌入式Linux C编程 第二章 数据 学习笔记
0 个评论
UCGUI 模拟器分析
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮