作为企业的唯一电子工程师,我花了比较多的时间开发产品的界面。在这里总结一下学习、理解和应用emwin的心得,以飨来者。 ! D! N$ s* x$ {+ n* L( w9 e! m 第一,Emwin三天可以入门吗? 学习一个新东西,免不了一开始想走捷径,又免不了走弯路。关于emwin,网上就有一个系列的博客,博主号称“三天入门emwin”。至少对我这种没有用过其他GUI软件的人来说,三天入不了门,要三个月才能入门。所以呢,我在它这里耽搁了一些时间,装那个模拟器,我现在觉得模拟器在学习和应用emwin没啥作用。不过,博主有一点说的很对,万万不可一开始就去移植emwin,这非常耽搁时间,也没啥意义。7 C: T4 H. {2 q4 | 最重要的参考资料,还是官方的手册。别看1000多页,只不过需要快速的浏览几次,后面再学习和应用中不断查阅。 第二、伟大的抽象——Emwin中的控件 用emwin做界面,和在windows系统下用vb或VF一样,都是对那些现成的控件进行操作。这样比较也许不太准确,毕竟我没有仔细用vb或vf做过实际的成品出来,只是学校里玩了一玩。又据一些网友说和VC控件很像,但我也不懂VC。 但,我觉得EMWIN最厉害的就是对界面里的元素进行了非常伟大的抽象——窗体(也许这是他从其他地方借鉴而来的)。整个emwin的应用到最后就变成了用各个控件来搭积木了。而emwin说明文档中,控件的分类和操作函数又是特别的清楚。 当然了,回调函数的机制、重绘的机制等重要思想,也要多多领悟。写出自己的第一个控件,第一个页面,都是非常重要的学习过程。" n' d. f! ]( ` B4 j; |4 @6 P 2 b {0 k H( n7 P# e- t, J 第三、从Segeer官方的Demo出发 兴许很多人和我一样,并没有太多gui的背景知识,那么阅读和分析segeer公司官方的demo程序(就是那10多个屏幕交替出现那个)是非常有帮助的。因为我们并不知道要用好emwin到底需要哪些先验知识,而这10多个节目非常丰富,往往我们的项目实际需要比它简单的多。把demo搞透了,延伸学习的背景知识也就很多了,足以应付我们的应用。/ s# o% l$ \% i. ~, u( f) X * M- A+ i# o4 @* _6 x 第四、Scene的划分+ {9 f9 n% H: S+ H7 y 《认识电影》里说“镜头是最基本的电影语言”。其实一个GUI应用也有它的基本单元,我称之为Scene。举例来说,有开机画面、主页、帮助页...整个项目的GUI,不就是在这些Scene中不断的切换么 而每一个Scene,就是在背景窗口之上创建的若干个窗口,与操作者进行交互。如此而已。6 o# t. Z: l0 _ G8 _4 A$ Y; Q7 O 第五、“巨人”的肩膀 电子产业生态链的发展,使得1人电子团队也成为可能。正点原子、安富莱和野火他们的开发板、配套历程及答疑,对项目开发是大有裨益的。 " a B2 e, e, s4 C$ U D 个人经验,难免狭隘。偏颇之处,还盼斧正!' W% Q, }8 S! [: f, e" p * {: n) s o% m ( a$ h7 g" v5 U% O0 p* P) K : b. w$ F+ F9 E6 u9 B- } ) f1 A) {/ [2 Z2 P: w |
【银杏科技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控件应用教程(第五节 复选框和单选按钮)
项目应用的代码,不方便分享。