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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 利用Nport Express實現S2E(串行口到以太網)

          利用Nport Express實現S2E(串行口到以太網)

          作者: 時間:2012-04-12 來源:網絡 收藏
          ext-stroke-width: 0px">  3.5 利用Monitor 菜單項監(jiān)控數據的收發(fā)

            Monitor是另一個比較重要的菜單選項,從這個窗口中,我們可以檢查參數的設置情況,其中的兩個參數TX、RX比較重要,顯示了 的收發(fā)數據量,從而也為我們判斷 是否工作正常提供了依據。

            4 單片機接入

            以上對 的參數進行了比較詳盡的設置,作為單片機接入網絡的關鍵設備,Nport Express起到了一個單片機網卡的作用,它是數據往來的通道,而單片機作為現場設備檢測控制裝置,是實現數據交互的門戶。利用單片機采集各種數據,并從發(fā)出,當然電平轉換必不可少,如利用MAX232或HIN232CP芯片,轉換成232電平,接入Nport Express的串行口輸入口。其中,關鍵之處在于單片機波特率和握手協議的設定,一定要與Nport Express相一致,才能實現數據的正確傳輸[4] 。單片機的初始化與收發(fā)程序分別如下:

            

            單片機的波特率設定為9600 bps,數據的收發(fā)采用中斷方式,當單片機收到網絡端發(fā)來的控制命令時便可觸發(fā)執(zhí)行相應的操作,實現遠程監(jiān)控的目的。其原理圖如圖2所示。

            

            5 網絡端編程

            5.1 網絡控件的選擇

            為完成數據的采集處理和對單片機的控制,需要在客戶機或終端服務器設計一軟件平臺,實現客戶機與Nport Express通過的交互。Nport Express驅動模式支持的開發(fā)語言很多,如VC,VB,Delphi, C等。因為VB操作界面簡單,串行通信與網絡接入控件使用方便,故此選擇VB編寫前臺控制程序。VB中有三個internet控件:internet Transfer, webBrowser, WinSock,都是AcTIveX控件,可以用來實現每一層Internet 通信的訪問。

            在VB中利用Winsock控件,可以為兩個或多個Internet節(jié)點建立連接并使之交換數據。對用戶來說,Winsock控件是不可見的,它提供了訪問 TCP和UDP網絡服務的方便途徑,編寫客戶或服務器應用程序時,可不必了解TCP的細節(jié)或調用低級的Winsock APIs。通過設置控件的屬性并調用其方法就可以連接到一臺遠程機器上,并且還可雙向交換數據。

            5.2 Winsock的屬性設置

            Winsock的屬性主要有以下四個:

            (a) Protocol ,返回或設置Winsock空間所使用的協議,本文選用UDP;

            (b)RemoteHostIP,遠程主機IP地址,本文中即Nport Express的實際IP地址;



          關鍵詞: Nport Express S2E 串行口 以太網

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();