新聞中心

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

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

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

  

  2.3 接口類用例

  假設(shè),現(xiàn)在有一個(gè)頻譜測量系統(tǒng),各個(gè)測量儀器與主控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),就是將該接口的各個(gè)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

  {

  打開出錯(cuò),錯(cuò)誤處理;

  }

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

  pDevice->Close();

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

  3 結(jié)語

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

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


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



上一頁 1 2 下一頁

評(píng)論


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

關(guān)閉