ucGUI中文教程(STM32实例非常详细)emWin教程
代码说明:
ucGUI、emWin中文教程,结合源码非常详细。《安富莱_STM32-V5开发板_STemWin教程》,包括模拟器、guibuilder使用等ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程教程使用说明本教程配套的硬件开发平台是安富菜电子自主设计的STM32V5开发板。安富菜其他系列的STM32开发板也可以使用这个手册,我们的论坛www.armfly.con上有移植好的工程不过需要大量动态内存的例子是无法运行的。使用本教程前,请先按照第三章的教程进行触摸校准,将触摸参数保存到 EEPROM里面,后面所有的例子都会自动加载触摸参数。■基本涵盖了所有 STemWin知识点及其控件的使用,部分复杂的控件会在后期升级的教程中增加上去。完美解决 STemWin支持的BMP、JPG、GIF、PNG图片显示。完美解决 STemWin支持的字体显示,XBF、SIF、矢量字体显示。■教程中提供的 emWin的移植方法,可以完美支持各种显示屏,不受官方显示驱动限制。■所有的控件教程都有配套使用 GUIBulder5.22和u CGUIBulder40建立的例子。■大部分例子均支持在模拟器、MDK和IAR三个版本上面运行。STM32V5开发板相关资料地址:ahttp://bbs.armfly.com/readphp?tid=1139ahttp://bbs.armfly.com/readphp?tid=1285ahttp://bbs.armfly.com/read.php?tid=2103第3页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程第1章 STemWin介绍本期教程开始带领大家了解-下 STemWin的基本知识,其实确切的讲应该叫eηwin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成 STemWin(为什么叫 STemWin,在下面会有详细的讲解)。1.1 STemwin, emwin,μCGU之间的关系1.2 SEGGER公司介绍1.3 STemwin介绍14STM32F103和407跑 STemWin性能测试15 STemWin论坛16总结11 STemWin,emWn,μCGU之间的关系这个放在最开头进行说明,因为很多的初学者比较的迷惑对于一些刚学GUI的用户来说,知道μCGU的比较多,而不知道所谓的 emWin或者 STemWin。这个并不奇怪,主要是因为大部分人只知道 SEGGER公司的做的儿LINK,而不知道他们还有RTOS和相关的中间件(中间件的意思就是基于RTOS的文件系统,GUI,USB主机和设备协议栈等)。11.1卩CGU在国内比较火的原因μcGUI在国内前几年比较火的原因有三点●一个是μCOSI在国内的推广,自从 Micrum公司出的那本《嵌入式实时操作系统μCOSⅢ》发布之后,国內关于μCOSⅡ的资料就是普天盖起,再加上各种培训机构和开发板的推广,μCOSⅡ就在国内火起来了。μCOS火的同时,它配套的中间件,特别是μCGUI就跟着在国内火了起来●前几年国内有一个μCGUI的论坛,这个论坛在国内的μCGU方面应该算是做得最好的,特别是那个站长在μCGUI方面的研究,这位站长对于μCGUI在国内的发展功不可没●还有一个原因就是μCGU是带有源码的,很多时候可以通过修改部分的源码实现—些特殊的功能,现在网上流传的μCGUI的源码已经不知道经过多少人的手被修改过,最原始的的代码已经在官网上面找不到了。第4页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程112 emwin和μCGU的关系首先要明白,这两个GUI是一个东西。最初这个GU就是 SEGGER公司的,然后以什么的方式授权给μcGUI就不清楚了。现在 SEGGER公司是这个GUI的主要推动者,已经将其授权给了多个芯片生产厂家。11.3 STemWin和emWn的关系STemWin是 SEGGER公司授权给ST(意法半导体)的。使用ST芯片的用户可以免费使用 STemWin其实不光授权给了ST,还有NXP, Energy micro等。凡是使用这些芯片厂商生产的处理器都可以免费的使用 emwin。但是出于一定的保护措施,使用 STemWin的库是不能用在其它芯片厂商的处理器上面的。因为在工程初始化 STemWin前要使能CRC校验。如果没有使能, STemWin是启动不起来的。 KEIL MDK的安装目录里面也带有 emwin软件包,这个软件包也不是可以直接使用的,用户需要给 KEIL MDK注册RL-ARM才可以使用。这里 STemWin还针对ST的微控制器做了专门的优化,比如在使用ST的F4XX微控制器带FPU的芯片时, STemWin在需要浮点处理的地方专门做了优化114 emWin5Xx版本和以前版本的不同emWin发展到50版本以后已经产生了很大的更新,特别是底层驱动方面。 emWin5xx版本向下完全的兼容低版本,当然包括μcGUI巧5ⅹX以下的版本,也就说如果用户有在μCGUI5×以下版本建立的工程完全可以用在高版本上面(条件是没有修改过源码)。这里不建议初学者修改源代码,修改过后会破坏现有的机制。在以后的使用中会养成不好的习惯,只要某些功能无法实现就去修改源码随着修改的增多会严重的破坏现有的机制。emwin5xX以后的版本只有库,没有源码。对于一些想研究源码的,可以看早期的版本,了解一下通讯机制。不过对于大多数从应用角度出发的,完全没有必要学习源码,源码内容太多。对于一些无法实现的功能,在 emWin5ⅹ上面得到了很大的改善,基本不需要修改源码。如果通过各种方法实在无法实现,完全可以使用 emWin支持的用户控件设计方法做一个符合要求的.12 SEGGER公司介绍SEGGER公司应该算是一家老牌的调试工具以及RTOS及中间件的生产商。 SEGGER公司成立于1997年,到现在的2014年,有差不多17年的历史了,这家公司主要有两个 office,一个是在德国的 Hilden,另个在美国的 Massachusetts。官网还有一个他们工作地方的照片,看着很不错,我这里也把这个照片贴第5页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程国SEGGER公司的产品主要有三个方向,分别如下:121RToS及其中间件SEGGER公司的RTOS是 embos,在国内知道的人可能比较少。 SEGGER做的 embos和中间件都是以库的形式供用户下载的,除非购买了使用权。产品主要如下o embos(Real Time Operating System)embos/IP(TCP/IP Stack)o emWin(Graphic Software Gui)● em File( File System)emUSB Device(USB device Stack)e emUSB Host(USB Host stackemModbus( Modbus StackmoDbus是今年(2014年)刚刚发布的。第6页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程122J-Link调试工具J-Link应该大家都不陌生,它是有 SEGGER公司设计的。具体的J-Link产品有好几款,具体如下●J- Link pro●J- Link ultra+●J- Link plus●J-Link●J- Trace Cortex-M3●J- Trace arm1.2.3 Production Programmers这个工具在国内用的比较少,主要如下几款产品:●F| asher armFlasher rx●F| asher stm8● Flasher st7● Flasher5● Flasher5PRo上面说的这三项应该算是SEGGER公司的主营产品,更详细的可以上面他们的官网www.segger.con进行了解。13 STemWin介绍emwin5X版本设计出来的界面还是非常漂亮的,先贴几个相关的设计图片,让大家有一些感官的认识131 STemWin设计界面●第一幅是官方设计的图片第7页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程Coffee machineAirplane monitoring system666垂●Washing machineProcess automation40°C900Detergent40%3Dashboardx-Ray machineCEPHP114.1540整体来说,这些图片还是非常漂亮的,不过这些界面不是用专门的控件显示出来的,使用的2D绘图配合内存设备管理实现的。●下面的是在STM32V5开发板上面实现的界面总的来说这些界面还是非常漂亮的,关于STM32V5开发板更详细的资料可以看如下两个地址http://bbs.armfly.com/read.php?tid=1285http://bbs.armfly.com/read.php?tid=1139第8页共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程凹春Computer SettingsPictureletoonCameraClockFMAMamazonMPMP3RecorderensorTextUs日edioSignal201304303%177:28TueTask Manage▲进程性能实验目的优先级堆栈使用堆栈余堆栈分比CPU任务名字59869388%3. 70% App Task GUIRefresh60516358012%0. 30% App Task GUI10891610%0. 05% App Task UserIF749507%0.07% App Task COM829420. 00% App Task Update8219664%0. 00% App Task Start62636549%0. 01% uC/OS-III Timer Task62 6464 50% 0.47% uC/OS-III Stat Task646450%0. 83% uC/OS-III Tick Task63527640%94. 53% uC/OS-III Idle Task201343017:18:14Tue第9贪共574页ARMFL武汉安富莱电子有限公司Www.ArmfLy.Com安富莱STM32-V5开发板 STemWin教程File ManageFile Edit HelpOpen noneHardDiskUsed: 3MB Total: 126MBsed: 442MB Total: 1963MBUsed: 130MB Total: 7441MBCamera的oV7570&MT9D111OPEN USB HOSTOPEN USB HOSTCLOSE USB HOSTr OPEN USB DEVICE CLOSE USE DEVICEReady2013/43017:U7:49Tue132目标系统(硬件)目标系统必须具有:一个CPU(8/16/32/64位)一个具有最小内存的RAM和ROM一个完整图形显示器(任何类型和任何分辨率)存储器要求取决于使用的是软件的哪部分以及目枟编译器的效率。因此不可能指定精确的值,但是以下值适用于典型的系统。小系统(无窗口管理器)●RAM:100字节堆栈:600字节ROM:10-25kb(取决于所使用的功能)大系统(包含窗口管理器和小工具)RAM:2-6kb(取决于所需的窗口数)堆栈:1200-1800字节(取决于所使用的功能)ROM:30-60kb(取决于所使用的功能)请注意,如果应用程序使用了很多字体,则对ROM的要求会提高。上述所有值都是粗略估算值,不第10页共574页
下载说明:请别用迅雷下载,失败请重下,重下不扣分!