1 简介

首先,uCGui是有源代码的,而emwin是提供库的。这里我们使用的是SeggerEval_WIN32_MSVC_MinGW_GUI_V542,因为它可是使用vc6.0来编译。

使用UCGUIBUILDER画出图形,然后把它生成的代码拷贝到模拟器文件里。

1.1 工具

GUIBuilder和uCGUIBuilder是两款界面创建小工具。

1.2 参考资料

1.emwin用户手册,模拟器等下载地址:链接

2.STM32F4xx系列的emWin软件包下载地址:链接

注意填写用户名和密码就能下载文件。

2 源码分析

对于源码的分析,只能使用V3.98,后面的版本都是库形式提供的。所以,也只能去分析较高的提供源码的版本。

2.1 重绘窗口

2.2 多对话框

2.3 模态窗体

2.4 透明窗体

3 调试

目前,很多电脑都更新到了win10,然而,vc++ 6.0还是可以在win10上运行模拟器的。所以,这里我就直接使用vc++ 6.0跑STemWin了。

3.1 调试V532版本

在下载了软件包之后,如:SeggerEval_WIN32_MSVC_MinGW_GUI_V532,可以找到SimulationTrial.dsw,这个是能用在vc++6.0直接打开的。

之后,可以直接运行,我们可以看到如下界面:

STemWin初始化界面

左侧的列表都是可以点击的,而右侧就是相应左侧的条目的介绍。我们可以简单的对模拟器的大大小进行调整,也就是在config文件夹下的-->LCDConf.c 中的:

#define XSIZE_PHYS 320

#define YSIZE_PHYS 240

对于初学者来说,可能会连基本的函数入口都是不容易找到的,这里直接指出:在

SeggerEval_WIN32_MSVC_MinGW_GUI_V532\Application\SWIPELIST_Demo.c(619)的void MainTask(void)中。

我们在启动程序后,运行的整个.c文件为:

demo程序

3.1 简单了解环境

有了以上的基础,如果需要执行sample文件夹下的Tutorial文件夹下的2DGL_BMPExport.c文件,则可以按照如下步骤来做:

a.取消编译Application文件夹下文件。

先取消相应设置项

选择组建时排除文件

b.选择2DGL_BMPExport.c文件

图片.png

取消选择组建时排除文件

再次编译,运行,可以看到如下图片:

运行结果

3.2 显示文本与数值

可以在函数MainTask中编写如下程序:

/*********************************************************************

*

* MainTask

*/

void MainTask(void) {

WM_HWIN _hSwipelist;

WM_HWIN hWin;

int xSize;

int ySize;

int xPos;

int yPos;

int i;

#if 1

printf("---hello world---\n");

GUI_Init();

GUI_DispString("Hello world!");

while(1);

#endif

}

运行结果如下所示:

显示hello world

4 待续

嵌入式linux ucgui,四、嵌入式之图形界面 (3) uCGui相关推荐

  1. 嵌入式linux学习路线,嵌入式开发视频教程

    Linux 是一个开源.免费的操作系统,主要应用于服务器(网站服务器.云计算集群.DNS 等)和嵌入式,同时也被很多程序员用作个人操作系统.Linux 使用 GPL 许可证,允许任何人以任何形式传播其 ...

  2. 嵌入式linux学习论坛,嵌入式linux学习路线分享:教你真正好学的嵌入式开发学习路线...

    Linux 是一个开源.免费的操作系统,主要应用于服务器(网站服务器.云计算集群.DNS 等)和嵌入式,同时也被很多程序员用作个人操作系统.Linux 使用 GPL 许可证,允许任何人以任何形式传播其 ...

  3. 嵌入式linux详解,嵌入式Linux详解

    嵌入式Linux详解 嵌入式培训就是嵌入式系统相关技术的培训.嵌入式系统说白了就是硬件和软件相结合,嵌入到整机里使整机实现智能化的一个系统.下面是小编整理的关于嵌入式Linux详解,希望大家认真了解! ...

  4. 视频教程-嵌入式Linux开发基础-嵌入式

    嵌入式Linux开发基础 嵌入式工程师.嵌入式讲师.10多年嵌入式开发实战经验,6年专业嵌入式课程培训经验.主要研究方向是嵌入式Linux系统应用和物联网技术应用.先后参与过武警边防音视频矩阵切换系统 ...

  5. 嵌入式linux rtsp移植,嵌入式网络收音机的ARM实现 - ARM - 电子发烧友网

    3 系统的的软件设计 3.1 嵌入式Linux的移植 嵌入式Linux内核的版本很多,一般情况下版本越高,系统越稳定,驱动更完善,本系统选择了2.6.18的Linux内核.其实对于2.6以后版本的Li ...

  6. 虚拟机安装Linux没有图形界面,虚拟机安装linux后显示不出图形界面,是什么原因?...

    虚拟机安装linux后显示不出图形界面,是什么原因? 用root和密码登陆后出现[root@localhost tmp]# 按照mount -t iso9660 /dev/cdrom /mnt (加载 ...

  7. 嵌入式Linux文件提取,嵌入式 Linux系统编程(四)——文件属性

    嵌入式 Linux系统编程(四)--文件属性 一.文件属性概述 Linux 文件的属性主要包括:文件的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.文件属性示例如下 ...

  8. 嵌入式linux添加字体,嵌入式界面设计—Linux字体安装

    在刚配置完嵌入式Linux的时候,我们的Qt库是没有字体存在的,所以我们要把字库安装在Qt要求的库文件下.这次我们安装开源字体"思源黑体". 思源字体下载:文末公众号回复qita0 ...

  9. 嵌入式linux结构框图,嵌入式linux系统的结构

    原标题:嵌入式linux系统的结构 1.嵌入式系统的硬件架构 嵌入式系统硬件模型结构,此系统主要由微处理器MPU.外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM ...

  10. 嵌入式linux并行通信,嵌入式Linux

    博客列表 发表于:2011-03-16 11:56:38 | 分类:嵌入式Linux 浏览( ) | 评论( ) 编辑 删除 作者:曹忠明,华清远见嵌入式学院讲师作为一个嵌入式linux的业内人士(脸 ...

最新文章

  1. 使用OneFlow完成基于U型网络的ISBI细胞分割任务
  2. 中小企业如何实现在家研发软件?看这个就够了
  3. boost::multiprecision模块gmp相关的测试程序
  4. java学习(127):finally语句
  5. HttpHandler与HttpModule的用处与区别
  6. Java语言Socket接口用法详解
  7. kubernetes权威指南第五版_Java 微服务实用指南(二)
  8. [C#基础]说说委托+=和-=的那些事
  9. iOS进阶--提高XCode编译速度、Xcode卡顿解决方案
  10. WIN7安装FreeSwitch,1.8版本无法安装,1.6版本成功
  11. SDL2.0超简单入门 100行代码实现播放wav声音文件
  12. python爬取微博数据代码_Python selenium爬取微博数据代码实例
  13. 微信小程序轮播图常用炫酷样式----swiper
  14. CPU、GPU、TPU、NPU等到底是什么?
  15. 服务器运行cad慢,cad从服务器上打开很慢,在本地打开很快
  16. 计算机地图制图相关论文,计算机地图制图原理、特点及发展趋势论文
  17. 一款功能强大的开源excel在线表格
  18. web前端开发人员要求,css设置背景图片自适应
  19. PS-实战-ICON图标
  20. ztext - 简单几行代码创建酷炫 3D 特效文字的开源 JS 库

热门文章

  1. 异常处理与MiniDump详解(4) MiniDump
  2. python 入门教程
  3. CDN是什么?CDN的工作原理?使用CDN有什么优势?
  4. Hexo + GitHub搭建个人博客 --- Standard Edition
  5. dosbox运行C语言,[转载]dosbox的使用方法
  6. CSS美化超链接样式
  7. 宏碁4752G换CPU和显卡导热硅脂步骤
  8. 《上海堡垒》究竟几何?让我用爬虫一探究竟
  9. ASP.NET超市便利店在线购物商城源码,针对周边配送系统
  10. 小米原生浏览器标识.