時間觸發(fā)嵌入式系統(tǒng)設計模式:使用8051微控制器開發(fā)可靠應用本書主要關注使用軟件模式迅速的開發(fā)時間觸發(fā)嵌入式系統(tǒng)的軟件,書中涉及的系統(tǒng)全部基于8051系列微控制器。時間觸發(fā)技術通常用于有安全要求的應用場合。這里給出的模式將簡單而高效地把時間觸發(fā)技術應用到幾乎所有嵌入式設計項目中。詳細討論的應用系統(tǒng)必須在以毫秒為單位的時間間隔里執(zhí)行任務或響應事件。使用本書討論的方法,即使使用8位微控制器,也能夠經濟而可靠地實現這種級別的響應。書中提及的程序全部由C語言編寫實現,附送的CD上包括了本書所有的例子。 現在你面對著的是一種模式語言。盡管它和我自己的模式主題有相當大的距離,然而從本質上講,Michael的目標是對的。 Ward Cunningham和我以前在早期商業(yè)化Smalltalk時曾一起工作。Smalltalk從一開始就被設計為一種無縫環(huán)境。你可以使用由Smalltalk編寫的文字處理軟件啟動調試程序,修改該程序并繼續(xù)輸入。 Tektronix的一些最初使用Smalltalk的用戶相當古怪。我們經常談到Ray,這個從一家大化學公司來的老家伙理解Smalltalk并確實使它跳轉和運行、處理并顯示實驗數據??此难菔臼且环N樂趣,因為他為自己所完成的工作而驕傲。讀Ray的程序代碼卻是另一回事。為了使程序工作,他會做任何事,而無論多么駭人聽聞。結果是程序一片混亂,完全不可維護而且只使用了Smalltalk的一小部分功能。我們經常把Ray作為某些軟件開發(fā)人員的象征:有問題需要解決而不得不設計軟件的人。這種功利的態(tài)度與我們對軟件的'不妥協精神'有著顯著區(qū)別。在我們看來,力求解決方案的簡明而優(yōu)雅比解決該問題更重要。然而如果我們想影響眾人,就不能只追求自己的美感,必須同時設法幫助Ray。最后所得到的模式語言是深思熟慮的建議(決不使用你不能親自關掉的計算機)和老套的日常文檔書寫注意事項(將源代碼中的括號對齊為矩形格式)的古怪的混合物。目的是幫助Ray從Smalltalk當中得到更多功能。但在這方面我們基本上失敗了,從那時起我的職業(yè)生涯就轉為四處漂泊,為寫程序的人們提供建議和輔導。這就是為什么我愛讀Michael的文稿的原因。它為那些正好有問題要解決,然而又不想成為該解決方案的專家的人答疑解惑?,F在我就是Ray。我希望把微控制器聚集到一起用于解決各種各樣的問題(好的,所以我是個書呆子),讀過這些模式語言后使我有信心能把它做好。這些模式決不只是使我鼻子中有松香的氣味,或是手中有繞線槍的感覺,而是舉例說明使用模式將比一般的嘗試能夠完成更多的事情。模式在問題和解決方案之間架起了一座橋梁。將人們的需要和情感與技術連接在一起,并為那些有問題要解決的人們提供新的思路?,F在就點熱烙鐵并享受開發(fā)的樂趣吧! Kent Beck 三河研究所 Merlin,俄勒岡州