新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 論利用OOP設(shè)計(jì)思想的通訊接口類的設(shè)計(jì)與應(yīng)用

論利用OOP設(shè)計(jì)思想的通訊接口類的設(shè)計(jì)與應(yīng)用

作者: 時間:2013-07-31 來源:網(wǎng)絡(luò) 收藏

  

  2.3 接口類用例

  假設(shè),現(xiàn)在有一個頻譜測量系統(tǒng),各個測量儀器與主控PC 采用了GPIB 進(jìn)行系統(tǒng)的構(gòu)建[10],則使用類族如圖2 所示,流程圖如3所示,可以設(shè)計(jì)如下的類族偽代碼:

  class COM

  {

  public:

  virtual BOOL Open()=0;

  virtual int Write(BYTE* pBuff,int CountToWrite)=0;

  virtual int Read(BYTE* pBuff,int CountTORead)=0;

  virtual void Close()= 0;

  };

  而派生類GPIB 接口的實(shí)現(xiàn),就是將該接口的各個API進(jìn)行封裝,然后由COM 的接口提供出統(tǒng)一的訪問方式。

  在實(shí)現(xiàn)了具體的具體的儀器的類的編寫后,就可以采用圖3的流程來完成,下面是C++偽代碼:

  COM *pc = new GPIB(1,0,0);

  Device pDevice = new FreqMeasureInstrumen(t pc);

  i(f TRUE == pDevice->Open())

  {

  開始與儀器的交互和測量數(shù)據(jù)的采集;

  }

  else

  {

  打開出錯,錯誤處理;

  }

  測量完成,關(guān)閉儀器;

  pDevice->Close();

  在這段偽代碼中,首先,定義了一個通信口的指針,但是所指的對象是一個動態(tài)產(chǎn)生的GPIB類的對象。然后再定義一個儀器類的指針pDevice,所指的對象是動態(tài)產(chǎn)生的一個頻譜測量儀的對象。然后通過pDevice,就可以調(diào)用接口完成具體的測量任務(wù)。

  3 結(jié)語

  基于這樣的面向?qū)ο蟮乃枷朐O(shè)計(jì)出來的測控系統(tǒng)的,在某個銀行終端的模擬測試中,可以很好地適應(yīng)串口和網(wǎng)口的測試,代碼思路清晰,非常有利于擴(kuò)展和維護(hù)。

pid控制相關(guān)文章:pid控制原理


通信相關(guān)文章:通信原理



上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉