開發感想 基於8051的資料採集系統(科技)
競賽作品名稱
基於8051的資料採集系統
簡介
下位機:8051開發板上的感測器採集需要的資料,通過RS-232傳送給上位機。
上位機:Win7系統,用C#寫的串列埠除錯程式接收資料。
資料伺服器:上位機與資料伺服器用socket進行通訊,上位機把經過處理的資料發給資料伺服器。
查詢資料
在開發中,網路查詢資料是常見的。在這次專案中,部落格與論壇提供了很多優質資料。
一個現象:過期與錯誤知識的存在,浪費了很多的時間與精力。我想改善這種現象,於是決定:我要寫部落格,多寫一些好的內容。
專案進行
專案有三個核心
- 開發板的資料採集與上傳
- PC上位機程式,接受串列埠傳來的資料
- 上位機與資料伺服器的資料傳遞程式
一二做的好,因為是緊緊圍繞核心功能展開的,任務很快就完成了。在三的實現上,飄飄然了。花了一個下午做一個錦上添花的模組,後期除錯socket通訊模組發現重大bug。然後,趕呀趕,改呀改。嗨。。。都是辛酸淚。
所以我得到的工程經驗是:工程的交付期限是重要的。先完成核心模組,再進行錦上添花。
通訊線纜
貴!RS-232轉485,這兩個東西,幾十塊錢。長見識了。有時,在通訊線纜上的花費可能超出想象。
通訊之交換器與路由器
新手實現socket通訊時,我的建議是使用路由器。
見招拆招
實現一個功能往往有多個選擇。這個不行,那就換另一個。用手頭現有的硬體實現預期的功能,是本事。
微控制器新手開發版
板子配套的多為各個模組進行1+1的例項,在競賽、研究中,需求往往是11+11。這就需要懂原理!能夠由1+1升級成11+11。
因為新手開發板主要是實現“100以內加減的”。學習到一定境界後,會出現被開發板的硬體架構限制住的情況!所以,能夠根據需求,自行設計開發板的人,棒棒噠。
硬體選型與電路板製作
建議新手先用廠家做好的成品開發板。
這次競賽中,有位新手想自己做出來一個開發板,專案時間20天,中期報告上說:型號那麼多,不知道選哪個。
自己做開發板是可以,但是需要很多的經驗。器件有時並不理想,而且器件之間需要匹配。一些晶片看著很硬,但是過了極限電壓就燒了,那可都是錢呀。
對啦!請把數位電路當做類比電路來處理。各點的電壓好好算一下。數位電路可不是簡單的01。
見多識廣的重要性
C#中有許多類庫,有的時候費大勁寫出來的程式碼有相對應的成熟的庫。如果見多識廣,早知道這個庫呢?直接呼叫就好,那麼專案也會快速向前推進。
專案經驗的重要性
這一次經歷讓我意識到了:經驗是很重要的。
模組->系統
在做專案的時候,我是把系統劃分為多個大模組。又把大模組分為多個小模組。
小模組的寫、除錯、完成和整合。
軟體工程中相關的思想和方法,很實用。推薦在專案開始之前,閱讀相關的