<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于GSM通信的SZF型波浪浮標(biāo)接收系統(tǒng)

          基于GSM通信的SZF型波浪浮標(biāo)接收系統(tǒng)

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


          3 設(shè)計(jì)
          通過發(fā)射模塊發(fā)送數(shù)據(jù)包,上位機(jī)通過接收模塊接收數(shù)據(jù)包,再通過串口連接到PC機(jī)上,在PC機(jī)上進(jìn)行數(shù)據(jù)的二次處理。上位機(jī)接收軟件使用可視化開發(fā)環(huán)境進(jìn)行開發(fā)。數(shù)據(jù)處理流程如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/153571.htm

          d.JPG


          3.1 數(shù)據(jù)接收
          由于是通過串口與PC機(jī)進(jìn)行通信,所以在程序設(shè)計(jì)時選用了Windows下的MSComm控件來進(jìn)行串口數(shù)據(jù)接收處理。MSComm控件通過串口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能,MSComm控件在串口編程時非常方便,本文使用其事件驅(qū)動方法,接收串口數(shù)據(jù)。為事件添加驅(qū)動函數(shù)程序如下:
          ON_EVENT(CSZFRevSysDlg,IDC_MSCOMM1,1,CSZFRevSysDlg::OnCommMscomml,VTS_NONE)
          對串口進(jìn)行初始化設(shè)置程序如下:
          m_mscom.put_RThreshold(1);
          m_mscom.put_InputMode(1);
          其中特別注意的是:第一條設(shè)置表示串口接收到一個字符就觸發(fā)處理函數(shù),第二條設(shè)置表示設(shè)置輸入方式為二進(jìn)制,這樣才能對COle Sa leArray變量進(jìn)行操作,否則COleSafeArray默認(rèn)為test格式,不方便后面對數(shù)據(jù)進(jìn)行解析。
          由于本系統(tǒng)Windows開發(fā)環(huán)境為Vista,所以為了保證在其他Windows環(huán)境下也可以運(yùn)行程序,需要為MSComm添加注冊,注冊過程如圖4所示。

          e.JPG


          3.2 實(shí)時顯示
          系統(tǒng)根據(jù)浮標(biāo)不同工作方式(定時測量方式,連續(xù)測量方式和檢測工作方式),以不同方式啟動/關(guān)閉串口。
          浮標(biāo)一般工作在定時測量狀態(tài),串口是接收整點(diǎn)前6 min打開,準(zhǔn)備接收數(shù)據(jù),接收到數(shù)據(jù)包后,根據(jù)通信協(xié)議對數(shù)據(jù)包進(jìn)行解析,再分別顯示在界面相應(yīng)位置,如圖5所示,可供監(jiān)測人員實(shí)時的檢測數(shù)據(jù)。接收整點(diǎn)后10 min關(guān)閉串口,進(jìn)入休眠狀態(tài),如果關(guān)閉串口時有數(shù)據(jù)接收中,延時10 s再關(guān)閉串口。

          f.JPG



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();