功能測試機設計-MFC and C++ 以及單片機 C

        這個我的第一個真正意義上的VC項目。軟件部分花了兩個月下班和週末的部分時間完成。本來我還以爲花了兩年,翻開備份的程序最早版本修改時間,確實兩個月。這倒不是說明快。而是這過程經歷中的曲折迷茫,讓時間在內心中被拉長了。它大概是在我真的花了兩年時間,陸陸續續,斷斷續續,看了《C++沉思錄》、《C++Primer》、《Visual C++ 2005入門經典》、《深入淺出MFC》(節選翻閱)之後的第一個嘗試,當中更多實戰知識是在一個個百度中發掘的。總算取得至少讓自己感覺比較滿意的效果。因爲我覺得本來可以完成得更快,更胸有成竹,所以決定寫個系列博客,把整個系統的骨架和肌肉記錄下來,以備查看。

        寫之前,確實想了下,該怎麼寫--這也是第一次。還好一個問題給了我啓發:“如果再做個新的項目,怎麼做纔是最好?”。之前的想到哪,寫到哪,顯然不是。

        就像畫人物素描,須先畫骨,再畫肌肉皮膚毛髮。搭建一個系統,也應先有系統方框圖,模塊圖,再到各模塊實現方案,然後是各種方法和實施步驟。

        先上系統圖,由於項目是個需要軟硬件配合的平臺,雖然軟件部分更另我興奮,當然也少不了硬件這個基礎。


        待測系統是一個車身控制器,即汽車當中控制車窗燈活動的電子系統。爲什麼系統圖是這樣的?回答這個問題主要回答兩個個爲什麼:1.爲什麼要用PC(即電腦),因爲PC強大的計算、友好的互交和高性價比,使這個測試系統具有強大而靈活的處理能力。2.爲什麼把測試模塊和負載及電源分開,而不是合在一起,因爲分開之後,功能分配更清晰,測試模塊、負載、電源可以方便拆開用在其他待測系統。

        在設計軟件部分之前,還需理清項目需求。從而推出各硬件模塊的設計規格。見下圖:


        以上一些縮寫含義:DIO(數字輸入輸出)、AO(模擬輸出)、AI(模擬輸入)、DWG(數字波形發生)、TMU(時間測量單元)。96DIO代表96個數字輸入輸出通道,如此等等。

        先不多說,軟件系統如下:


        軟件設計部分,關於界面,關於輸入操作,執行流程等,開始設計時會有點不知所措。這時找張草稿紙來隨心畫畫,是個不錯的選擇。




        以上統領系列博客,後續文章將針對各個模塊功能及實現方法一一展開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章