作为企业的唯一电子工程师,我花了比较多的时间开发产品的界面。在这里总结一下学习、理解和应用emwin的心得,以飨来者。( y0 U P: g- D d3 ^' Z" ^
. e( d7 F* c9 p' `! F3 J# L
第一,Emwin三天可以入门吗?# [# K. ?5 F9 O( [5 v( Z/ C, k
学习一个新东西,免不了一开始想走捷径,又免不了走弯路。关于emwin,网上就有一个系列的博客,博主号称“三天入门emwin”。至少对我这种没有用过其他GUI软件的人来说,三天入不了门,要三个月才能入门。所以呢,我在它这里耽搁了一些时间,装那个模拟器,我现在觉得模拟器在学习和应用emwin没啥作用。不过,博主有一点说的很对,万万不可一开始就去移植emwin,这非常耽搁时间,也没啥意义。, O4 v" J. R- y3 f
最重要的参考资料,还是官方的手册。别看1000多页,只不过需要快速的浏览几次,后面再学习和应用中不断查阅。8 v" }0 ~4 X9 Y8 |. U+ P
R- a" r: Q+ I& ]0 X0 F4 A 第二、伟大的抽象——Emwin中的控件7 F+ E3 ]9 l$ f1 L
用emwin做界面,和在windows系统下用vb或VF一样,都是对那些现成的控件进行操作。这样比较也许不太准确,毕竟我没有仔细用vb或vf做过实际的成品出来,只是学校里玩了一玩。又据一些网友说和VC控件很像,但我也不懂VC。
8 m; m* Y' K: V" V 但,我觉得EMWIN最厉害的就是对界面里的元素进行了非常伟大的抽象——窗体(也许这是他从其他地方借鉴而来的)。整个emwin的应用到最后就变成了用各个控件来搭积木了。而emwin说明文档中,控件的分类和操作函数又是特别的清楚。1 F8 ]+ f! h8 g' @
当然了,回调函数的机制、重绘的机制等重要思想,也要多多领悟。写出自己的第一个控件,第一个页面,都是非常重要的学习过程。0 F! A' L7 {7 P* }: l
+ L5 o1 O3 z$ s0 w$ S 第三、从Segeer官方的Demo出发" w* V* y9 O: u2 ]
兴许很多人和我一样,并没有太多gui的背景知识,那么阅读和分析segeer公司官方的demo程序(就是那10多个屏幕交替出现那个)是非常有帮助的。因为我们并不知道要用好emwin到底需要哪些先验知识,而这10多个节目非常丰富,往往我们的项目实际需要比它简单的多。把demo搞透了,延伸学习的背景知识也就很多了,足以应付我们的应用。2 w: W* H: w3 K# j! q* i8 P
; a' X* e. `3 i, q2 f# ^ 第四、Scene的划分3 B$ {& \8 q3 O% Z9 v! d
《认识电影》里说“镜头是最基本的电影语言”。其实一个GUI应用也有它的基本单元,我称之为Scene。举例来说,有开机画面、主页、帮助页...整个项目的GUI,不就是在这些Scene中不断的切换么% v. V/ F h! z/ A6 d
而每一个Scene,就是在背景窗口之上创建的若干个窗口,与操作者进行交互。如此而已。
# V* Q4 N3 \2 j& k$ W- e0 i
A, I- v5 ?, w" Q 第五、“巨人”的肩膀0 _0 d* H( \" b7 p. ]' U) c
电子产业生态链的发展,使得1人电子团队也成为可能。正点原子、安富莱和野火他们的开发板、配套历程及答疑,对项目开发是大有裨益的。! n! z4 b# N6 O6 ~: X* i9 v3 {
9 k m' O8 I' g! x) L0 J
个人经验,难免狭隘。偏颇之处,还盼斧正!" p+ P- I- i; B
1 }% Z7 Z5 F; D( }8 U
8 N( y( a$ ]$ _, ?, I& e9 \' h
6 x4 M2 @" ]! u0 M
( y/ g3 A l. b8 F/ U. [
; }" `- _" G/ p% ?+ r! T& A" S
1.jpg
(267.88 KB, 下载次数: 27)
下载附件
保存到相册
2018-9-1 15:56 上传
2.jpg
(283.37 KB, 下载次数: 24)
下载附件
保存到相册
2018-9-1 15:56 上传