******************************************************************** 继上次发布60期emWin教程后,再发布10期emWin提高篇实例,这10期实例更加接近实际项目 硬件平台:http://bbs.armfly.com/read.php?tid=1285 目录如下: 第1期:ATM机界面设计 第2期:酿造机过程演示设计 第3期:洗衣机简易操作界面设计 第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/read.php?tid=1285 ******************************************************************** 第2期:酿造机过程演示设计 工程下载:http://bbs.armfly.com/read.php?tid=1285 工程介绍: 1. 这个工程主要是动态过程的演示,无需使用触摸功能。 2. 主要演示了两个动态过程,每个过程都是建立在一个窗口上,通过设置 窗口的显示层从而实现轮流显示。 3. 刷新的时候,将静态图和动态图分开,只需刷新动态图即可。 4. 注意函数GUI_SetClipRect的使用。 截图效果: 超高清视频演示: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/read.php?tid=1285 ******************************************************************** 第4期:表盘界面设计 工程介绍: 1. 本实例有两个值得大家学习的地方: (1)函数GUI_MEMDEV_CreateAuto和GUI_MEMDEV_DrawAuto的使用,保证时钟表盘不闪烁。 (2)抗锯齿多边形的绘制GUI_AA_FillPolygon。 2. 本设计界面仅支持演示。 3. 注意演示时间和指针旋转速度的设置,防止指针旋转的时候出现卡顿的现象。 截图效果: 超高清视频演示:http://bbs.armfly.com/read.php?tid=1285 ******************************************************************** 第5期:监护仪界面设计 工程介绍: 1. 本实例有三个值得大家学习的地方: (1)同一个窗口多定时器的创建。 (2)通过外部按键创建窗口。 (3)多波形的显示。 2. 按键K2按键创建病人信息窗口。 按下K3关闭创建的窗口。 截图效果: 超高清视频演示: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/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中显示方式,并且底层已经全部优化,可以流程运行。 截图效果: ******************************************************************** 第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/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表示回格,文本编辑时字符的删除和,拼音输入时拼音的删除都需要使用这个键。 截图效果: 图片:第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/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/read.php?tid=1285 ************************************************************************************************ 60期教程配套的大量原创实例,这些实例暂时先不开源,希望大家见谅,不过后面会附上其它的大量实例 ************************************************************************************************ 教程参考资料下载: 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 |
学习 |