|
|
開始動手寫關(guān)于串口的程序,而且是基于對動態(tài)鏈接庫調(diào)用并不那么完美的JAVA語言并且沒有可供調(diào)試的硬件的情況下,似乎無從下手。
好在也曾寫過服務(wù)器程序,感覺整套程序的編寫過程和自己研究的過程不該將過多的精力放在串口通信上,那不是上位機程序的職責(zé)。我所應(yīng)該做的事情應(yīng)該有以下這些:
1.如何最大效率地獲取串口接收到的數(shù)據(jù)。
2.如何不出錯地按照約定的通信協(xié)議回復(fù)數(shù)據(jù)。
3.如何在讀取數(shù)據(jù)之后選擇或編寫適當(dāng)?shù)乃惴▽?shù)據(jù)進行處理并在得到結(jié)果之后以適當(dāng)?shù)姆绞奖憩F(xiàn)出來。
4.程序的可維護性、可擴展性以及是否健壯。
期中第一點最為次要,對于這種技術(shù)網(wǎng)絡(luò)上有太多的例程,并且java已有相對成熟的api供調(diào)用。只需要動手寫一個測試程序驗證即可。然而在沒有硬件供測試的情況下應(yīng)該如何實現(xiàn)此問題是我在這點上最該考慮的問題。目前的方案是使用VSPM虛擬串口程序,將以太網(wǎng)映射成虛擬串口,并使用JAVA編寫虛擬串口程序,該程序的內(nèi)容為向本機IP的某一個空閑端口a發(fā)送數(shù)據(jù)。之后使用VSPM以啟動Server工作狀態(tài),將某個可使用的串口b與本機IP的a端口關(guān)聯(lián)。使用串口調(diào)試助手監(jiān)控b端口的數(shù)據(jù)傳輸是否正常,鑒定無誤后該java程序與vspm組成調(diào)試模塊供程序完成之后測試。
第二點和第三點是整個程序的核心,絕大部分精力應(yīng)用于此處。這部分將取決于手頭上的項目文檔和需求分析的結(jié)果。
第四點是貫穿整個程序的核心思想,將在二十三個設(shè)計模式中根據(jù)實際需求選擇使用,目標(biāo)為更高的內(nèi)聚,更低的耦合。
|
|