C AT Lib 2 Lib設計的一些考慮

2021-09-18 07:35:37 字數 731 閱讀 6051

我們先來談一談設計at lib的一些考慮。

畢竟和串列埠通訊這樣的硬體打交道,我們需要支援非同步呼叫嗎?

我覺得一般在軟體的高層會去實現非同步呼叫(一般通過開啟乙個單獨執行緒),所以at lib在設計的時候只支援同步呼叫。

傳送at command後,等待modem的response肯定需要超時管理。例如modem死掉了,這樣at lib在同步呼叫的時候不至於一直卡死在**。

我們會設計乙個at command類。為什麼不直接用字串而用乙個專門的類呢?

- 有些response有result code,有些沒有

- 我們需要期望什麼樣的response呢,需要把這樣的期望加入到at command類中

我們會設計乙個at response類。

- 包含當時傳送的at command字串是什麼

- 傳送的at command字串有沒有echo(如果modem開啟echo,modem會把at command放到response中)

- result code是什麼

- cme extended reason code是什麼

- cms extended reason code是什麼

- urc是什麼

- data lines是什麼

整個at lib設計的難點就是

- 發完at command之後,at response是不是完整的和是不是我們想要的

- 怎樣解析出at response的各部分資訊

一些設計思想的匯集 2

關於畫面內容的check的設計 首先定義介面 public inte ce ivalidator 及虛類public abstract class abstractvalidator set protected bool isemptystring object obj else public ab...

一些設計的guidline

1.ocp原則 開放閉合原則 模組的設計,應該對擴充套件是開放的,但是對於修改是閉合的,即易於擴充套件,而不做額外的修改。通常有兩種手段來達到這樣的效果,即動態多型和靜態多型 多型和模板 2.lsp原則 置換原則 子類必須能夠替換其基型別。任何子類的行為和功能都要保持和父類一致。3.dip原則 依賴...

一些設計思路

智慧型裝置 1.s2c 介面,在 裡新增 system cmd 然後就可以進行伺服器遠端除錯啦。這樣做可以縮短終端裝置開發時間 智慧型裝置往往要求是終端提供穩定可靠的介面給伺服器統一呼叫,因為終端公升級太麻煩啦 2.同樣的需要,終端功能夠強壯,伺服器進行控制。尤其是前期,強制公升級很需要 3.昨天討...