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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LPC2364的串口轉(zhuǎn)網(wǎng)口專用協(xié)議卡的研制

          基于LPC2364的串口轉(zhuǎn)網(wǎng)口專用協(xié)議卡的研制

          作者: 時(shí)間:2010-04-23 來源:網(wǎng)絡(luò) 收藏


          圖2所示是其主函數(shù)流程圖。主函數(shù)中可進(jìn)行uIP棧初始化和初始化的并使并設(shè)置,同時(shí)通過操作系統(tǒng)初始化來建立兩個(gè)通訊任務(wù),然后就可以開始操作系統(tǒng)的任務(wù)調(diào)度。圖3所示是系統(tǒng)中的任務(wù)控制流程。

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

          5 轉(zhuǎn)換卡的通訊試驗(yàn)
          本文的轉(zhuǎn)換卡并不是通用意義上的協(xié)議轉(zhuǎn)換卡,而是特定通訊協(xié)議的轉(zhuǎn)換卡。該卡在規(guī)定的協(xié)議中,由網(wǎng)口接收到的數(shù)據(jù)可以分為兩種,一種是控制命令,一種是查詢命令。在軟件中,串口任務(wù)和網(wǎng)口任務(wù)有兩個(gè)共享的數(shù)據(jù)緩沖區(qū),通過串口任務(wù)可檢查緩沖區(qū),如果緩沖區(qū)中有數(shù)據(jù),則根據(jù)通訊協(xié)議判斷這些數(shù)據(jù)是否是正確的指令,若是正確的指令,則判斷是查詢命令還是控制命令,若是控制命令,則將此控制命令發(fā)送出去,并清空緩沖區(qū);若是查詢命令,網(wǎng)口任務(wù)則會到另一個(gè)緩沖區(qū)中取出數(shù)據(jù),并用協(xié)議棧將此數(shù)據(jù)發(fā)送出去,同時(shí)清空緩沖區(qū)。通過用TCP通訊客戶端檢測工具和串口調(diào)試助手調(diào)試可以發(fā)現(xiàn),如果TCP通訊客戶端發(fā)出的是查詢命令,則網(wǎng)口任務(wù)自動到預(yù)定的緩沖區(qū)取出數(shù)據(jù),并發(fā)送出來,同時(shí)在TCP通訊客戶端上顯示出來;如果TCP通訊客戶端發(fā)出的是控制命令,則等待串口調(diào)試助手的返回?cái)?shù)據(jù)。如果有返回,則在TCP通訊客戶端上顯示出來;如果串口助手沒有返回,軟件控制則一直發(fā)送控制命令,直到收到正確的回復(fù)。

          6 結(jié)束語
          本文所設(shè)計(jì)串口轉(zhuǎn)網(wǎng)口的轉(zhuǎn)換卡是具有串口通訊協(xié)議的轉(zhuǎn)換卡。協(xié)議卡對收到的數(shù)據(jù)會進(jìn)行分析和判斷,進(jìn)而決定數(shù)據(jù)的發(fā)送方式,從而實(shí)現(xiàn)FreeRTOS操作系統(tǒng)和uIP協(xié)議棧的結(jié)合。此外,由于FreeRTOS操作系統(tǒng)和uIP協(xié)議棧對用戶而言是透明的,因此,該模塊可以方便地隨時(shí)修改串口通訊速率、串口通訊格式、IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼等功能.并充分利用FreeRTOS操作系統(tǒng)的穩(wěn)定性與可靠性以及實(shí)時(shí)性好等特點(diǎn),同時(shí)可發(fā)揮以太網(wǎng)通訊效率高的特點(diǎn),來為實(shí)施數(shù)據(jù)轉(zhuǎn)換提供方便。


          上一頁 1 2 下一頁

          評論


          相關(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); })();