UCGUI 模拟器分析

Ucgui模拟器是通过WIN32程序来模拟嵌入式设备在WINDOWS上显示,那它是如何模拟的呢?(另需参照UCGUI的模拟器UCGUISim的设计文档)

Ucgui模拟器程序主要完成以下几件事

一.   创建模拟器主窗口,这个窗体包括一些模拟器控制菜单,如打开LOG记录/打开调色板显示窗体/新建LCD模拟器窗体,以及暂停/继续模拟器。创建的窗口如下

 

二.   创建一个LCD模拟显示窗口并初始化其显示所需的各种数据结构,LCD窗口的大小由UCGUI中LCDConf.h中配制时指定(LCD_XSIZE/LCD_YSIZE),及其它的诸如每个象素占用多少位(LCD_BITSPERPIXEL),首先分配一块足够大的显存(4M)并初始化这块数据为0,每个象素占用不大于 8位时模拟显示屏幕需要用到8位图,还必须初始化要用到的调色板。

 

三.   提供操作LCD模拟显示屏幕的几个基本图形函数,UCGUI是一个设计层次非常清晰的图形系统,它将GUI的底层图形功能作为一层向上层提供最基本的图形功能,只有这一层才与具体的硬件相关,这一层包括基本的画点函数/矩形填充函数/调色板初始化函数/颜色索引与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响应

http://blog.csdn.net/jacklam200/article/details/5957604


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UCGUI是一款嵌入式图形用户界面(GUI)软件库,用于在嵌入式系统上实现图形化的用户界面。而makefile是一种用于自动化构建软件项目的脚本文件,通过编写makefile可以指定编译器和编译选项,进行源代码的编译、链接和生成可执行文件。 在使用UCGUI时,通常需要配置相应的makefile文件来进行项目的构建。makefile文件中包含了完成编译和链接的命令和相关编译选项。 对于UCGUI来说,使用makefile的主要目的是为了确保项目的编译和链接过程能够顺利进行,同时能够根据具体的需求进行灵活的配置。 在UCGUI的makefile中,往往会涉及到以下几个方面的配置: 1. 指定编译器和其相关选项:通过在makefile中设置相关的环境变量来指定使用的编译器和其对应的编译选项,以确保编译器能够正确地找到和编译UCGUI的源代码。 2. 指定源代码和库文件的路径:通过在makefile中设置相关的变量来指定UCGUI的源代码和库文件所在的路径,以供编译器在编译和链接过程中正确地引用和链接。 3. 生成可执行文件:通过在makefile中设置相关的命令和规则来告诉make工具如何编译和链接UCGUI的源代码,最终生成可执行文件或者库文件。 总之,UCGUI的makefile配置主要是为了确保在嵌入式系统上能够正确地编译和链接UCGUI的源代码,生成可以在设备上运行的可执行文件或库文件。使用makefile可以提高项目的可维护性和可重复性,并且可以根据不同的需求进行灵活的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值