时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用本书主要关注使用软件模式迅速的开发时间触发嵌入式系统的软件,书中涉及的系统全部基于8051系列微控制器。时间触发技术通常用于有安全要求的应用场合。这里给出的模式将简单而高效地把时间触发技术应用到几乎所有嵌入式设计项目中。详细讨论的应用系统必须在以毫秒为单位的时间间隔里执行任务或响应事件。使用本书讨论的方法,即使使用8位微控制器,也能够经济而可靠地实现这种级别的响应。书中提及的程序全部由C语言编写实现,附送的CD上包括了本书所有的例子。 现在你面对着的是一种模式语言。尽管它和我自己的模式主题有相当大的距离,然而从本质上讲,Michael的目标是对的。 Ward Cunningham和我以前在早期商业化Smalltalk时曾一起工作。Smalltalk从一开始就被设计为一种无缝环境。你可以使用由Smalltalk编写的文字处理软件启动调试程序,修改该程序并继续输入。 Tektronix的一些最初使用Smalltalk的用户相当古怪。我们经常谈到Ray,这个从一家大化学公司来的老家伙理解Smalltalk并确实使它跳转和运行、处理并显示实验数据。看他的演示是一种乐趣,因为他为自己所完成的工作而骄傲。读Ray的程序代码却是另一回事。为了使程序工作,他会做任何事,而无论多么骇人听闻。结果是程序一片混乱,完全不可维护而且只使用了Smalltalk的一小部分功能。我们经常把Ray作为某些软件开发人员的象征:有问题需要解决而不得不设计软件的人。这种功利的态度与我们对软件的'不妥协精神'有着显著区别。在我们看来,力求解决方案的简明而优雅比解决该问题更重要。然而如果我们想影响众人,就不能只追求自己的美感,必须同时设法帮助Ray。最后所得到的模式语言是深思熟虑的建议(决不使用你不能亲自关掉的计算机)和老套的日常文档书写注意事项(将源代码中的括号对齐为矩形格式)的古怪的混合物。目的是帮助Ray从Smalltalk当中得到更多功能。但在这方面我们基本上失败了,从那时起我的职业生涯就转为四处漂泊,为写程序的人们提供建议和辅导。这就是为什么我爱读Michael的文稿的原因。它为那些正好有问题要解决,然而又不想成为该解决方案的专家的人答疑解惑。现在我就是Ray。我希望把微控制器聚集到一起用于解决各种各样的问题(好的,所以我是个书呆子),读过这些模式语言后使我有信心能把它做好。这些模式决不只是使我鼻子中有松香的气味,或是手中有绕线枪的感觉,而是举例说明使用模式将比一般的尝试能够完成更多的事情。模式在问题和解决方案之间架起了一座桥梁。将人们的需要和情感与技术连接在一起,并为那些有问题要解决的人们提供新的思路。现在就点热烙铁并享受开发的乐趣吧! Kent Beck 三河研究所 Merlin,俄勒冈州