作为企业的唯一电子工程师,我花了比较多的时间开发产品的界面。在这里总结一下学习、理解和应用emwin的心得,以飨来者。" M5 T9 U6 s$ i# t/ K4 q 第一,Emwin三天可以入门吗?# _/ o. B7 j$ g. i3 ] 学习一个新东西,免不了一开始想走捷径,又免不了走弯路。关于emwin,网上就有一个系列的博客,博主号称“三天入门emwin”。至少对我这种没有用过其他GUI软件的人来说,三天入不了门,要三个月才能入门。所以呢,我在它这里耽搁了一些时间,装那个模拟器,我现在觉得模拟器在学习和应用emwin没啥作用。不过,博主有一点说的很对,万万不可一开始就去移植emwin,这非常耽搁时间,也没啥意义。# W& A8 R1 D* V2 l 最重要的参考资料,还是官方的手册。别看1000多页,只不过需要快速的浏览几次,后面再学习和应用中不断查阅。 第二、伟大的抽象——Emwin中的控件 用emwin做界面,和在windows系统下用vb或VF一样,都是对那些现成的控件进行操作。这样比较也许不太准确,毕竟我没有仔细用vb或vf做过实际的成品出来,只是学校里玩了一玩。又据一些网友说和VC控件很像,但我也不懂VC。( T2 h6 u" m% w' N2 R! n Z 但,我觉得EMWIN最厉害的就是对界面里的元素进行了非常伟大的抽象——窗体(也许这是他从其他地方借鉴而来的)。整个emwin的应用到最后就变成了用各个控件来搭积木了。而emwin说明文档中,控件的分类和操作函数又是特别的清楚。 当然了,回调函数的机制、重绘的机制等重要思想,也要多多领悟。写出自己的第一个控件,第一个页面,都是非常重要的学习过程。( `' K# t, x" C 第三、从Segeer官方的Demo出发 兴许很多人和我一样,并没有太多gui的背景知识,那么阅读和分析segeer公司官方的demo程序(就是那10多个屏幕交替出现那个)是非常有帮助的。因为我们并不知道要用好emwin到底需要哪些先验知识,而这10多个节目非常丰富,往往我们的项目实际需要比它简单的多。把demo搞透了,延伸学习的背景知识也就很多了,足以应付我们的应用。7 D- W$ L3 `7 \; ?* P J' h $ I) D; p( |! U5 V j 第四、Scene的划分 z ]% R$ ]7 N$ E' Q 《认识电影》里说“镜头是最基本的电影语言”。其实一个GUI应用也有它的基本单元,我称之为Scene。举例来说,有开机画面、主页、帮助页...整个项目的GUI,不就是在这些Scene中不断的切换么 l/ q7 l0 M6 w! F% q- h 而每一个Scene,就是在背景窗口之上创建的若干个窗口,与操作者进行交互。如此而已。" o7 h: L+ B- C5 o4 N+ g% f7 e 第五、“巨人”的肩膀 电子产业生态链的发展,使得1人电子团队也成为可能。正点原子、安富莱和野火他们的开发板、配套历程及答疑,对项目开发是大有裨益的。 个人经验,难免狭隘。偏颇之处,还盼斧正! 6 @% U2 `" w& h! Y 9 r* {8 ]% y" m; a. I& a/ G |
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序
工业以太网总线ETHERCAT驱动程序设计及应用(扫描版)
【实战经验】STM32 DFSDM测量温度应用
【实战经验】基于STM32 I2S的音频应用开发介绍
【中文文档】AN4112_使用STM32F05xx模拟比较器的六个应用案例
[连载]STM32F103ZET6 uCGUI3.90a控件应用教程(第五节 复选框和单选按钮)
项目应用的代码,不方便分享。