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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM的嵌入式網絡接口控制器設計

          基于ARM的嵌入式網絡接口控制器設計

          作者: 時間:2012-11-16 來源:網絡 收藏

            5 以太網數(shù)據(jù)與串口數(shù)據(jù)轉換實現(xiàn)

            本文開發(fā)的接口控制器主要完成兩個功能,即將串口接收到的數(shù)據(jù)通過網卡發(fā)送至以太網,將網卡接收到的數(shù)據(jù)通過串口發(fā)送至另一串口端。工作模式上可以選擇為服務器或客戶端模式,數(shù)據(jù)傳輸協(xié)議可以選擇為TCP(Transmission?。茫铮睿簦颍铮臁。校颍铮簦铮悖铮?,傳輸控制協(xié)議)方式或UDP(User?。模幔簦幔纾颍幔怼。校颍铮簦铮悖铮?,用戶數(shù)據(jù)報協(xié)議)方式。其中TCP和UDP是以太網數(shù)據(jù)的兩種傳輸協(xié)議,TCP是基于連接的協(xié)議,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接,而UDP是面向非連接的數(shù)據(jù)直接傳輸協(xié)議,不需要對方的回答確認。

           ?。担薄贸绦虻拈_發(fā)環(huán)境和網絡編程

            由于嵌人式系統(tǒng)程序的開發(fā)和執(zhí)行是在PC和ARM 兩個不同的平臺上進行的,因此需要進行交叉編譯和連接。用串口和以太網將宿主機和目標板連接起來,程序開發(fā)在RedHat9.0 Linux操作系統(tǒng)下編輯,調試通過后,加入自己開發(fā)的程序重新編譯armlinux內核,并將編譯好的二進制文件固化到開發(fā)板的ROM中,使其開機后自動運行。

           ?。裕茫校桑刑幚砟K采用SOCKET套接字編程實現(xiàn)。SOCKET最早是在UNIX系統(tǒng)上為TCP/IP網絡通信而開發(fā)的一個接口程序,后來被成功移植到DOS、Windows等操作系統(tǒng)上,成為Internet上網絡開發(fā)最為通用的API函數(shù)。用于網絡開發(fā)的SOCKET主要有Stream Sockets(流格式)和Datagram?。樱铮悖耄澹簦螅〝?shù)據(jù)報格式)兩種類型,流格式Socket與TCP協(xié)議對應,數(shù)據(jù)報格式Socket與UDP協(xié)議對應。

           ?。担病≤浖O計

            本系統(tǒng)采用工作模式TCP?。樱澹颍觯澹蚍掌鳎却蛻舳苏埱筮B接,實現(xiàn)數(shù)據(jù)傳輸功能。本程序的流程圖如圖3所示。首先,打開串口,在Linux下打開串口是通過標準的文件打開函數(shù)

            圖3 功能實現(xiàn)流程圖

            圖4 以太網數(shù)據(jù)通過串口發(fā)送

            圖5 串口數(shù)據(jù)通過網卡發(fā)送



          評論


          相關推薦

          技術專區(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); })();