baiyongbin2009 发表于 2014-8-9 20:42:26

【安富莱】10期更加接近实际项目的emWin工程实例方案发布

 ********************************************************************
继上次发布60期emWin教程后,再发布10期emWin提高篇实例,这10期实例更加接近实际项目
硬件平台:http://bbs.armfly.com/read.php?tid=1285
目录如下:
第1期:ATM机界面设计
第2期:酿造机过程演示设计
第3期:洗衣机简易:D操作界面设计
第4期:表盘界面设计
第5期:监护仪界面设计
第6期:智能家居界面设计
第7期:RA8875横竖屏任意切换设计
第8期:RA8875硬件支持双图层设计
第9期:全键盘拼音输入法界面设计
第10期:STemWin综合界面设计
同时为了感谢大家对安富莱电子的支持,开源前三期实例,前三期参考官方实例,并由此修改而来。
********************************************************************
第1期:ATM机界面设计
工程下载:http://bbs.armfly.com/read.php?tid=1285
工程介绍:
1. 所有界面支持按键操作
  (1)K2按键用于控件焦点的切换,切换时,所选择的控件会出现浅色边框
  (2)K3按键用于进入下一个界面
  (3)摇杆的OK键用于选择相应控件后,触发控件所对应的的操作。
2. 如果使用触摸操作的话,请运行emWin教程第三章中的触摸校准程序,此程序会将触摸参数保存到EEPROM中,然后     再运行此工程即可。
3. 采用触摸方式操作界面时,如果进入到没有按钮控件的界面时,可以点击屏幕中间部分进入下一页。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_9a416c156bb41bd.png?198
 
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第2期:酿造机过程演示设计
工程下载:http://bbs.armfly.com/read.php?tid=1285
工程介绍:
1. 这个工程主要是动态过程的演示,无需使用触摸功能。
2. 主要演示了两个动态过程,每个过程都是建立在一个窗口上,通过设置    窗口的显示层从而实现轮流显示。
3. 刷新的时候,将静态图和动态图分开,只需刷新动态图即可。
4. 注意函数GUI_SetClipRect的使用。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_8c2accde64f4451.png?59
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
*******************************************************************
第3期:洗衣机简易操作界面设计
工程下载:http://bbs.armfly.com/read.php?tid=1285
 
工程介绍:
1. 本实例有三个值得大家学习的地方:  
  (1)自定义按钮的实现,主要是通过自定义按钮的回调函数实现按钮的不同显示效果。
  (2)自定义菜单的实现,显示效果更好。
  (3)内存设备相关函数GUI_MEMDEV_Create,GUI_MEMDEV_Select,GUI_MEMDEV_Write的使用。       
           通过函数数GUI_MEMDEV_Create申请所需的内存设备,然后通过函数GUI_MEMDEV_Select       
           选择要使用的函数,这样绘图操作实现的界面就可以直接写到内存设备中,需要显示的时候。
2. 本设计界面支持按键操作:  
  (1)按键K3实现ESCAPE功能,也就是退出显示界面,在本工程中主要是关闭子菜单。
  (2)摇杆的上下左右键实现菜单选项的选项和子菜单的显示,按下摇杆的下键就能显示子菜单。
  (3)摇杆的OK可以触发洗衣机界面中的start启动按钮。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_f8280fa074a7cbf.png?174
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第4期:表盘界面设计
工程介绍:
1. 本实例有两个值得大家学习的地方:
   (1)函数GUI_MEMDEV_CreateAuto和GUI_MEMDEV_DrawAuto的使用,保证时钟表盘不闪烁。   
   (2)抗锯齿多边形的绘制GUI_AA_FillPolygon。
2. 本设计界面仅支持演示。
3. 注意演示时间和指针旋转速度的设置,防止指针旋转的时候出现卡顿的现象。
 
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_efec305b5f8d223.png?68

超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第5期:监护仪界面设计
工程介绍:
1. 本实例有三个值得大家学习的地方:
(1)同一个窗口多定时器的创建。 
(2)通过外部按键创建窗口。 
(3)多波形的显示。
2. 按键K2按键创建病人信息窗口。   
   按下K3关闭创建的窗口。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_e620bcdb87a9eb7.png?53
 
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第6期:智能家居界面设计
工程介绍:
1.  提供了一个完整的ICOVIEW控件的使用方案。
2.  本实例有两个个值得大家学习的地方:     
    (1). ICONVIEW控件的使用。    
    (2). 所有界面支持触摸也支持按键操作。
3.  按键K2实现对话框的删除。     
     按键K3实现ICONVIEW的聚焦。    
     摇杆UP键实现ICONVIEW选项的上移。     
     摇杆DOWN键实现ICONVIEW选项的下移。     
     摇杆LIGHT键实现ICONVIEW选项的左移。    
     摇杆RIGHT键实现ICONVIEW选项的右移。     
     摇杆OK键实现对话框的创建。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_0e06e212a3459dc.png?240
 
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第7期:RA8875横竖屏任意切换设计
工程介绍:
1. 运行本工程前请运行emWin教程第3章配套的例子将触摸校准参数保存到EEPROM里面。
2. 本工程实现了RA8875屏幕显示的任意切换功能,切换后相应触摸也会跟着切换。
3. 用户可通过LCDConf.h文件中的宏定义,选择切换方式和切换后对应的长和宽。

   #define LCD_MIRROR_Y       更具实际情况选择镜像方式,如果什么都定义就是正常显示   
   #define LCD_MIRROR_X       
   #define LCD_SWAP_XY           
   #define LCD_XSIZE   480    X轴和Y轴的大小一定要定义。
   #define LCD_YSIZE   800
4. 一共有8中显示方式,并且底层已经全部优化,可以流程运行。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_8f892d1753f4424.gif?1554
********************************************************************
第8期:RA8875硬件支持双图层设计
工程介绍:
本工程仅支持4.3寸和5寸的480*272分辨率,由于RA8875本身的限制,双图层仅能在480*272及其以下分辨率上实现:

1. 运行前,请务必将图片1.bmp和2.bmp放到SD卡根目录下面。
2. 运行本工程前请运行emWin教程第3章配套的例子将触摸校准参数保存到EEPROM里面。
3. 本工程主要演示了RA8875的双图层和卷动功能,演示完后,可以拖动对话框看实际效果。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_b7dfc92b6f4dfc0.gif?697
 
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第9期:全键盘拼音输入法界面设计
工程介绍:
1. 由于emWin汉字工具生成的字库存储在了NorFlash里面,使用前请务必将字库存储到NorFlash从8MB开始的空间中,也就是0x64800000作为起始地址,要不系统开机后会造成死机。
  (烧写方法看用户手册V2.0: 1.9.3  制作STM32-V5_NOR.jflash 的步骤)

2. 还有一点要注意的是只有功能键Caps设置的是小写的时候才支持中英文切换。
3. 支持中英文的切换,支持大小写切换,支持部分特殊字符,支持数字输入。
4. 支持汉字任意指定位置的插入和文本编辑时的回格和回车。
5. 当前仅支持每次输入一个汉字,然后用回格键删除相应拼音。
6. 按键说明:  
   (1) 开机后,默认是字符输入功能。
   (2) 功能键C/e表示当前是汉字输入,c/E表示英文输入。  
   (3) 功能键Enter表示回车。
   (4) 功能键Caps实现大小写的切换。   
   (5) 功能键Back表示回格,文本编辑时字符的删除和,拼音输入时拼音的删除都需要使用这个键。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_57ad05d45286c0e.png?58图片:第9期.png





超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
第10期:STemWin综合界面设计
工程介绍:
       这个例子来自STM32F429I官方探索套件,本工程将其移植到了STM32-V5开发板上面,鉴于官方用的是FreeRTOS,这里就不使用FreeRTOS了,这里用uCOS-III,这个工程是在800*480分辨率的屏上面用(480*272分辨率的屏是采用竖屏显示)。
1. 由于本综合例子做了MJPEG格式的movie播放和JPG图片的浏览,都比较的消耗内存,这里使用外部的2MB的SRAM作为emWin的动态内存。  
  (1). 好处是可以使用movie播放和图片浏览了。
  (2). 坏处是不能使在窗口上面开启内存设备了,所以有时候有点闪烁,特别是动态显示内容的时候。
截图效果:
http://bbs.armfly.com/attachment/Fid_12/12_58_7bfca8b7e9328ef.png?352
超高清视频演示:http://bbs.armfly.com/read.php?tid=1285
********************************************************************
原创声明以及教程参考资料来源:
    本文档由安富莱电子原创
    随教程发布的V500-560例子都是安富莱电子原创
    教程中的部分介绍来自SEGGER官方的emWin手册
    字体专题中的部分知识点来自UCGUI论坛、百度百科和wiki百科
    每期教程一般会讲解两个例子,一个例子是SEGGER官方的,一个是我们原创的。SEGGER的例子只做知识点讲解,       不可直接装入开发板运行。我们原创的例子可以直接下载到开发板运行。
 
教程使用说明:
       本教程配套的硬件开发平台是安富莱电子自主设计的STM32-V5开发板。安富莱其他系列的STM32开发板也可以使用这个手册,后面把相应的工程附上。不过需要大量动态内存的例子是无法运行的。
       使用本教程前,请先按照第三章的教程进行触摸校准,将触摸参数保存到EEPROM里面,后面所有的例子都会自动加载触摸参数。
  基本涵盖了所有STemWin知识点及其控件的使用,部分复杂的控件会在后期升级的教程中增加上去。
  完美解决STemWin支持的BMP、JPG、GIF、PNG图片显示。
  完美解决STemWin支持的字体显示,XBF、SIF、矢量字体显示。
  教程中提供的emWin的移植方法,可以完美支持各种显示屏,不受官方显示驱动限制。
  所有的控件教程都有配套使用GUIBulder5.22和uCGUIBulder4.0建立的例子。
  大部分例子均支持在模拟器、MDK和IAR三个版本上面运行。
************************************************************************************************
60期教程目录如下:
http://bbs.armfly.com/attachment/Fid_12/12_58_027a5b70fae1de1.jpg?31
http://bbs.armfly.com/attachment/Fid_12/12_58_9c71919b24df936.jpg?16
教程下载:http://bbs.armfly.com/read.php?tid=1285
************************************************************************************************
60期教程配套的大量原创实例,这些实例暂时先不开源,希望大家见谅,不过后面会附上其它的大量实例
http://bbs.armfly.com/attachment/Fid_12/12_58_56204e56df13a4e.jpg?17
 
************************************************************************************************
教程参考资料下载:
1. emWin5.24模拟器:https://pan.baidu.com/share/link?shareid=1917906471&uk=286563520
2. MDK4.73安装目录下emWin5.22:https://pan.baidu.com/share/link?shareid=1923824463&uk=286563520
3. STemWin5.22软件包:https://pan.baidu.com/share/link?shareid=1925736378&uk=286563520
4. uCGUIBulder4.0:https://pan.baidu.com/share/link?shareid=1930864087&uk=286563520
5. emWin5.12中文手册:https://pan.baidu.com/share/link?shareid=1933386840&uk=286563520
6. emWin5.22英文手册:https://pan.baidu.com/share/link?shareid=1935743464&uk=286563520

http://bbs.armfly.com/attachment/Fid_12/12_58_d21b411ecd71fa2.jpg?4
 
 
 
 
 
 
 
 
 
 
 
 
 
 

一木320 发表于 2015-7-31 16:20:00

学习               
页: [1]
查看完整版本: 【安富莱】10期更加接近实际项目的emWin工程实例方案发布