2001年大学毕业时,就想着基于MCU51做一个属于自己的开发平台,这样今后的项目都基于这个平台开发,既可以提高效率,又可以提高这个平台的扩展性、复用性及稳定性。
想法只是想法,那个时候单片机也只有汇编的水平,只做过半个项目,但这个理念是很好的,现在还感叹自己当时竟然有这个理念。
2002年觉得自己不懂软件光有想法不行,来到了深圳从事手机软件开发,一般人应聘往往采用自己的特长去应聘,而我这一次是用自己不会的去应聘,目的只有一个:学习。
因为有朋友介绍,所以不会也成功了,手机软件开发半年后,基础水平大涨,那个时候稍微闲一些,就开始考虑那个MCU51平台。
首先了zlg的DP51板子,先按zlg提供的例子一个个的学,学了2,3个觉得这样没什么意义,任何一个例子都是独立的,相当于一个子函数,不具备系统性,就如风清扬说的,各个剑招分开是死的,只有融合起来才行,于是就开始自己谋划这个平台:
1:手机平台是当时自己最熟悉的,并且也是最先进实用的,尤其是内部的软件定时器用的非常漂亮,软件定时器可以解决硬件定时器资源不足问题,尤其可以实现游戏,闹钟,按键声等等,更进一步说还可以实现类似RTOS的任务,所以这个软件定时器被我采用了。
2:以前大学的时候学过VB,虽然没操作几下,但觉得它的事件触发机制很好,事件驱动型,说穿了就是消息机制,这个也应用到我的平台中
3:那段时间比较火RTOS,其实无论那个RTOS,在MCU51这个资源非常少的环境中,意义都不大,甚至反而把开发弄得复杂了。但他的系统节拍的概念在手机平台上也有体现,并且非常实用,于是把它也引入了。(那个时候还没有系统学过RTOS)
4:Trace系统在手机平台上应用非常广泛,以前很多人开发MCU51都是用仿真器,但手机开发是不用仿真器的,而是用Trace,用printf从串口打印信息出来跟踪调试,这个非常好,起码不用买仿真器了。
5:独特的按键处理方式,别的都可以说模仿的,但这个是本人自创的,非常棒。
基于以上5点,综合起来,就成了第一版的“实用单片机系统”,当时发表在21ic上被认可,之后2004年改进为第二版(MS2),这个版本相对比较简单明了,一般C语言基础的一看就懂,(MS3)版本发布在2006年,相对复杂一些,指针比较多,并且实现了软件定时器的伪任务模式。
华禹工控开发的很多单片机项目都是基于MS2、MS3开发的,创易电子的彩色触摸LCD屏开发板也是采用MS3开发的,尤其是软件定时器应用于触摸上,非常妙,获得宏晶单片机老板姚永平的赞赏。
MS3经常被我用来面试,考核应聘者的软件水平及思维能力,其中max(负责华禹工控wince平台的,21ic驱动版版主,代号high)4年前就是看了MS3后马上决定过来的。
不同的人看MS系统,感觉完全不同,这个取决于他本身的水平,本人希望读者从结构上入手考虑,之后各个部分的深入。
当然MS毕竟是基于MCU51的,不可能很复杂,若看过uCOSII之类的RTOS,那么MS就是一个小儿科,所以本人推荐MCU51入门或者提高的人学习即可。
MS作为本人软件方面的最高水平,算是本人软件的一个积累,虽然谈不上多少成就,但起码留下了一个成熟的东西,这是最重要的。
MS4是最新基于NXP Coretx M3的LPC13**系列下开发的MS3的升级版本,支持32位系统,性能更好
用户623284 2016-4-12 08:55
用户1244485 2016-3-23 10:52
用户1454308 2016-3-23 10:44
Good
用户1678053 2016-3-23 09:24
用户1242221 2014-1-21 17:29
用户831659 2013-1-14 11:26
谢谢博主的分享,得好好学习下
用户1650588 2013-1-2 15:32
用户541313 2012-12-28 11:14
用户1551958 2012-12-4 21:07
用户1664237 2012-8-21 20:50