野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 58001|回复: 91

【GUI教程-更新至V1.2.0版本,已支持ISO-MINI开发板】emWin实战指南

  [复制链接]
发表于 2014-7-4 19:56:40 | 显示全部楼层 |阅读模式

应广大用户的要求,我们制作了GUI相关的教程,现在野火emWin实战指南V1.2.0版本正式发布!!


野火的GUI例程全部基于 嵌入式图形软件库emWin  制作。而大家所熟悉的ucGUI,其实就是emWin的一个版本。emWin由SEGGER公司设计,它出售了版权给Micrium公司,然后Micrium公司就以ucGUI发布了,其实它们就是一样的东西!!从根本上来说emWin还更加正宗。所以想使用STM32学习GUI的朋友,不用犹豫了,赶紧下载我们的资料来学习就好。


先放链接,再放效果图。

整套资料简单粗暴的百度网盘链接:
    当前最新版本:野火emWin教程V1.2.0

http://pan.baidu.com/s/1dDvN1nF

   
    为了方便更新程序以及与读者协作开发,我们还把emWin教程及代码托管到了GIT仓库(内容跟百度网盘中的是一样的,不知道GIT是什么的朋友直接使用百度链接即可),GIT仓库地址如下:
    http://git.oschina.net/wildfireteam/wildfire_stm32_emWin.git
   
    读者也可以在本帖子的1楼回复中点击下载或者fork到自己的仓库中,本教程还不算成熟,我们热烈欢迎读者来一起完善它。

    上菜。
野火GUI效果图:

野火GUI一览.jpg


野火emWin实战指南教程:

教程封面.jpg


emWin实战指南教程内容.jpg


emWin资料合集:

资料中包含野火教程文档、emWin官方源码、野火emWin例程(ISO\ISO-MINI 裸机及ucos版本):



F2I]$REXSNZ9A1J@4CF$`%A.jpg

版本说明:
野火emWin教程V1.0.0 :
--第一版本

野火emWin教程V1.1.0
--增加了emWin基于uCosIII系统的例程uc_emWin_basic及uc_emWin_Demo

野火emWin教程V1.2.0
--增加了配套STM32-ISO-MINI板子的emWin例程





回复

使用道具 举报

 楼主| 发表于 2014-7-4 19:56:41 | 显示全部楼层
欢迎大家一起来完善本教程!,emWin教程合集GIT仓库地址:







回复 支持 1 反对 0

使用道具 举报

发表于 2014-7-4 20:07:56 | 显示全部楼层
谢谢火哥~又出了好教程
回复 支持 反对

使用道具 举报

发表于 2014-7-4 20:30:39 | 显示全部楼层
好东西啊 最近想弄一个MP3的界面 正不知道怎么做呢
回复 支持 反对

使用道具 举报

发表于 2014-7-4 22:17:08 | 显示全部楼层
果断好评抢沙发~给哥们顶一个
回复 支持 反对

使用道具 举报

发表于 2014-7-4 23:52:54 | 显示全部楼层
等得好苦啊!终于等来了第一版。好好学习天天向上!
回复 支持 反对

使用道具 举报

发表于 2014-7-5 08:36:25 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-7-5 09:15:00 | 显示全部楼层
强烈支持,非常感谢哥们火锅,终于来了,等得太久了
回复 支持 反对

使用道具 举报

发表于 2014-7-5 11:05:52 | 显示全部楼层
前天买的野火的板子,昨天项目要求要用emWinGUI,今天野火就出教程,我真是太幸运啦,哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-5 12:01:17 | 显示全部楼层
nzk123 发表于 2014-7-5 11:05
前天买的野火的板子,昨天项目要求要用emWinGUI,今天野火就出教程,我真是太幸运啦,哈哈

那好好学
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-5 12:02:03 | 显示全部楼层
zyf加油啊 发表于 2014-7-5 09:15
强烈支持,非常感谢哥们火锅,终于来了,等得太久了

我要把它整理得像样才敢发布嘛~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-5 12:02:58 | 显示全部楼层
wajuka 发表于 2014-7-4 20:30
好东西啊 最近想弄一个MP3的界面 正不知道怎么做呢

我们这个emWin教程里还没有制作MP3的播放界面,不过你可以通过我们的教程来学习,然后自己写一个,期待你的作品!!
回复 支持 反对

使用道具 举报

发表于 2014-7-5 19:23:35 | 显示全部楼层
太好了,野火就是牛逼啊。赞一个
回复 支持 反对

使用道具 举报

发表于 2014-7-6 22:36:17 | 显示全部楼层
从K60、STM32 、ucos ii,一直跟着野火的脚步走就是好啊,,哈哈。。现在又有了GUI,,力顶火哥,,呵呵
回复 支持 反对

使用道具 举报

发表于 2014-7-6 23:36:09 | 显示全部楼层
厉害  。。。。。
回复 支持 反对

使用道具 举报

发表于 2014-7-7 11:32:24 | 显示全部楼层
火哥又出好东西了啊
回复 支持 反对

使用道具 举报

发表于 2014-7-7 20:13:57 | 显示全部楼层
本帖最后由 asdf 于 2014-7-8 11:39 编辑

这个 在mini 上移植需要改动哪些?

ok,对照修改了mini的 bsp_ili9341_lcd.h可以了。

按照文档移植:
STemWinLibrary522文件夹下的
GUI_X_Config(void)函数中
没有调用GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
按照emWin_basic中的添加了进去。
回复 支持 反对

使用道具 举报

发表于 2014-7-8 00:18:43 | 显示全部楼层
比雷公还雷人哦~
回复 支持 反对

使用道具 举报

发表于 2014-7-9 09:39:06 | 显示全部楼层
asdf 发表于 2014-7-7 20:13
这个 在mini 上移植需要改动哪些?

ok,对照修改了mini的 bsp_ili9341_lcd.h可以了。

牛,把代码发上来大家研究一下
回复 支持 反对

使用道具 举报

发表于 2014-7-9 11:14:20 | 显示全部楼层
火哥,麻烦问你一个问题,先上图,如图,我想通过调用这个对话框来修改时间和日期,因为屏幕不带触摸,所以用的按键调出本界面,但是现在默认聚焦的是设置“年”的下拉列表小控件,问题是现在如果通过按键调到下一个设置“月”的下拉列表控件呢,通过按键可以实现吗,感谢火哥回答
QQ截图20140709110859.jpg
回复 支持 反对

使用道具 举报

发表于 2014-7-9 15:31:24 | 显示全部楼层
demonye 发表于 2014-7-9 11:14
火哥,麻烦问你一个问题,先上图,如图,我想通过调用这个对话框来修改时间和日期,因为屏幕不带触摸,所以 ...

这个要添加按键类的驱动,可以看看emWin手册的驱动说明
回复 支持 反对

使用道具 举报

发表于 2014-7-10 10:42:00 | 显示全部楼层
晋海女 发表于 2014-7-9 15:31
这个要添加按键类的驱动,可以看看emWin手册的驱动说明

你有做过吗?
回复 支持 反对

使用道具 举报

发表于 2014-7-10 13:21:17 | 显示全部楼层
demonye 发表于 2014-7-9 11:14
火哥,麻烦问你一个问题,先上图,如图,我想通过调用这个对话框来修改时间和日期,因为屏幕不带触摸,所以 ...

可以通过消息来做。
可以自定义一个消息。当按键按下时,发消息给窗口,窗口则设置小工具的焦点等工作。
也可以把按键定义成键盘的某个键(如Tab、上下左右等)。详见手册关于键盘输入的部分。然后窗口接收到WM_KEY再做选择。
但WM_KEY的消息只发给包含焦点的窗口(小工具)。收到后要传给父窗口。

大概这个思路,你要是找到更好的办法。共享出来大家一起学习。
回复 支持 反对

使用道具 举报

发表于 2014-7-10 13:25:01 | 显示全部楼层
flyleaf 发表于 2014-7-9 09:39
牛,把代码发上来大家研究一下

好的,稍后我整理一下。其实对照着改一些io什么的就行了。
回复 支持 反对

使用道具 举报

发表于 2014-7-10 13:44:18 | 显示全部楼层
本帖最后由 asdf 于 2014-7-10 14:22 编辑

[code=cpp]

void WFGUI_MainTask(void) {
  WM_MOTION_Enable(1);
  WM_MOTION_SetDefaultPeriod(1000);
  
  CreatDeskTop();      

  while (1) {
   
    GUI_Delay(50);

  }
}

/*这个GUI_Delay不是简单的延时吧。要不就死在这了。这个函数在库里,查不到这个定义。但是看手册中大概提了下,和GUI_Exec()都属于更新函数。要周期调用更新函数。GUI_Delay 内部会调用GUI_Exec()(还应该会做其它的事)。
那么既然这个GUI_Delay必须周期调用,而且这个周期应该不能太长。觉得是毫秒级别吧,可以利用这一点,在最后这个while(1)中加上一些不太耗时的程序,比如按键检测(时间也挺长呵呵)。就不必用中断去做了。当然,还要考虑某些窗口、控件的回调函数的执行时间。要是时间长了,可能会漏检按键。
*/
[/code]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-10 14:26:37 | 显示全部楼层
asdf 发表于 2014-7-10 13:44

这个函数类似操作系统ucos里的delay延时,在延时的同时,它会进行相关的进程调度
回复 支持 反对

使用道具 举报

发表于 2014-7-17 14:16:51 | 显示全部楼层
不错!很有高大上的感觉,火哥威武啊!
回复 支持 反对

使用道具 举报

发表于 2014-7-21 22:26:49 | 显示全部楼层
我是新手 支持火哥!!!!
回复 支持 反对

使用道具 举报

发表于 2014-7-22 21:21:29 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-7-28 11:25:13 | 显示全部楼层
火锅还需要更新啊,加油啊.....
回复 支持 反对

使用道具 举报

发表于 2014-8-8 08:46:22 | 显示全部楼层
VS2010可以仿真 emWin么?我的是XP系统。只能装VS2010
回复 支持 反对

使用道具 举报

发表于 2014-8-8 12:00:48 | 显示全部楼层
火火火火~
回复 支持 反对

使用道具 举报

发表于 2014-8-8 12:56:57 | 显示全部楼层
这个是真心好啊!
回复 支持 反对

使用道具 举报

发表于 2014-8-9 09:53:41 | 显示全部楼层
火哥,我照这个教程去网址上下来了仿真的代码,双击没有仿真成功。
捕获.JPG
代码里的文件如下
捕获2.JPG
发现少了Backup文件夹。我用VS2013仿真也出错了,提示没有window.h文件。是不是因为少了Backup呢?要不你上传一个可以仿真的代码吧?
回复 支持 反对

使用道具 举报

发表于 2014-8-15 16:14:33 | 显示全部楼层
奔跑的蜗牛 发表于 2014-8-9 09:53
火哥,我照这个教程去网址上下来了仿真的代码,双击没有仿真成功。

代码里的文件如下

野火的资料链接里就有原版代码
回复 支持 反对

使用道具 举报

发表于 2014-8-19 10:57:04 | 显示全部楼层
支持火哥
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 10:38:41 | 显示全部楼层
wajuka 发表于 2014-7-4 20:30
好东西啊 最近想弄一个MP3的界面 正不知道怎么做呢

我正准备带领大家DIY一个MP3模块,硬件自己动手做,用的是ISO里面的方案,硬件成本在10块钱左右,到时我们会提供 DIY 套件,成本价卖给大家

软件上用emwin实现,可以切换歌曲,快进/退,暂停播放,上/下一区,显示歌词。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 10:39:45 | 显示全部楼层
我叫怕瓦落地 发表于 2014-7-28 11:25
火锅还需要更新啊,加油啊.....

大家一起来更新,人多力量大
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-20 10:41:12 | 显示全部楼层
zhang164 发表于 2014-7-6 22:36
从K60、STM32 、ucos ii,一直跟着野火的脚步走就是好啊,,哈哈。。现在又有了GUI,,力顶火哥,,呵呵

野火 STM32初学第一品牌 ,你值得信赖
回复 支持 1 反对 0

使用道具 举报

发表于 2014-9-12 14:57:52 | 显示全部楼层
有没有简单的 不带SD  不带SRAM 的
简单例子谢谢强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-9-12 17:15:44 | 显示全部楼层
这个例子我编译为什么会有错   ..\..\Output\WFGUI.axf: Not enough information to list image symbols.强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-9-16 14:49:52 | 显示全部楼层
很屌的样子
回复 支持 反对

使用道具 举报

发表于 2014-9-16 14:50:14 | 显示全部楼层
asdf 发表于 2014-7-10 13:44

请问 你的这个野火的gui函数库在哪下的
回复 支持 反对

使用道具 举报

发表于 2014-9-18 13:09:27 | 显示全部楼层
请问一下,想要学 emWin 是不是要先学 cuos?
回复 支持 反对

使用道具 举报

发表于 2014-9-28 01:23:09 | 显示全部楼层
严重关注此贴强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-10-4 14:54:25 | 显示全部楼层
楼主辛苦了,谢谢分享!32个赞!!!!!强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-10-28 09:51:43 | 显示全部楼层
火哥,你好!
为什么“0.wildfire_gui”和“0.ISO_MINI_gui”在编译时都会出错啊,都是一样的错误。
..\..\Output\WFGUI.axf: Error: L6218E: Undefined symbol abort (referred from pngread.o).
回复 支持 反对

使用道具 举报

发表于 2014-10-29 14:19:06 | 显示全部楼层
zsh910j 发表于 2014-10-28 09:51
火哥,你好!
为什么“0.wildfire_gui”和“0.ISO_MINI_gui”在编译时都会出错啊,都是一样的错误。
..\. ...

如果不勾选“use MicroLib”就能成功,但是烧进去没有反应,这是MDK版本的问题吗?
回复 支持 反对

使用道具 举报

发表于 2014-10-29 14:42:26 | 显示全部楼层
zsh910j 发表于 2014-10-29 14:19
如果不勾选“use MicroLib”就能成功,但是烧进去没有反应,这是MDK版本的问题吗?

果然是版本问题!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-6 10:37:45 | 显示全部楼层
zsh910j 发表于 2014-10-29 14:42
果然是版本问题!

果然被你解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 18:49 , Processed in 0.055788 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表