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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于ARM9與Win CE系統(tǒng)的車輛GPS定位信息采集

          基于ARM9與Win CE系統(tǒng)的車輛GPS定位信息采集

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

          3 定位信息采集和處理的軟件實(shí)現(xiàn)
          的軟件開發(fā)在可視化開發(fā)工具Embedded VisualC++(簡稱EVC)中,采用MFC編程技術(shù)實(shí)現(xiàn)。
          3.1 數(shù)據(jù)處理狀態(tài)轉(zhuǎn)換
          與ARM之間用RS232串口方式進(jìn)行通信,串口對(duì)象負(fù)責(zé)接收數(shù)據(jù),并把接收到的數(shù)據(jù)放置到串口緩沖區(qū)。GPS對(duì)象按照協(xié)議結(jié)構(gòu)負(fù)責(zé)處理串口對(duì)象接收到的數(shù)據(jù)。圖3為GPS數(shù)據(jù)處理之間的狀態(tài)轉(zhuǎn)換示意圖。GPS數(shù)據(jù)處理狀態(tài)共包括4個(gè)狀態(tài):開始狀態(tài)、數(shù)據(jù)幀頭狀態(tài)、GPS數(shù)
          據(jù)正文狀態(tài)和校驗(yàn)狀態(tài)。


          開始狀態(tài)是一個(gè)數(shù)據(jù)幀的起始狀態(tài),它處理和判斷數(shù)據(jù)幀的起始字符$。若起始符號(hào)不是其中的$,則一直停留在開始狀態(tài),直到$到來位置,數(shù)據(jù)幀頭狀態(tài)用于判斷數(shù)據(jù)幀的格式是否與我們目前需要的目標(biāo)數(shù)據(jù)幀相匹配。如果相匹配,那么將退轉(zhuǎn)到下一個(gè)狀態(tài):GPS數(shù)據(jù)正文狀態(tài),開始進(jìn)行數(shù)據(jù)處理。如果不匹配,則轉(zhuǎn)移到開始狀態(tài)。

          數(shù)據(jù)處理中用到了緩沖區(qū)的概念,它一邊累積計(jì)算接收的數(shù)據(jù)的異或和,一邊把相應(yīng)的數(shù)據(jù)域送入緩沖區(qū)。這樣既降低了數(shù)據(jù)提取校驗(yàn)的復(fù)雜度,也提高了數(shù)據(jù)處理的延續(xù)性和正確性。當(dāng)GPS數(shù)據(jù)正文狀態(tài)完成,進(jìn)入“*”字符的時(shí)候,將進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài),它用于判斷數(shù)據(jù)接收和處理的有效與否。若校驗(yàn)成功,則接收有效,收到CR,LF字符后又重新跳轉(zhuǎn)到開始狀態(tài)。若校驗(yàn)失敗,則放棄處理的數(shù)據(jù),直接跳轉(zhuǎn)至開始狀態(tài)。
          3.2 完整GPS數(shù)據(jù)幀的截取
          了解了GPS數(shù)據(jù)處理的四個(gè)狀態(tài)之間的相互轉(zhuǎn)換,下面論述一個(gè)完整的GPS數(shù)據(jù)幀的提取和處理,它是獲取車輛GPS定位數(shù)據(jù)的關(guān)鍵。一個(gè)完整的GPS數(shù)據(jù)幀的提取流程如圖4所示。

          圖4中,m_strRecDisp為一個(gè)CString變量,用于表示接收數(shù)據(jù)的字符串,該程序流程中,用到兩個(gè)最重要的函數(shù)即:字符(串)查找函數(shù)和字符串截取函數(shù)。



          關(guān)鍵詞: ARM9 Win GPS 系統(tǒng)

          評(píng)論


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