精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術C#通過串口讀取GPS模塊定位數據的方法

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 11:33 ? 次閱讀

有人云:'GPS的應用,僅受人們的想象力制約。'GPS問世以來,已充分顯示了其在導航定位領域的霸主地位。許多領域也由于GPS的出現而產生革命性變化。目前,幾乎全世界所有需要導航定位的用戶,都被GPS的高精度、全天候、全球覆蓋、方便靈活和優質價廉所吸引。在嵌入式產品的開發應用中,很多領域都涉及到GPS導航和定位的應用;英創的很多用戶,就是在英創的嵌入式主板的基礎上,外接GPS應用模塊,來實現GPS在各種領域的合理運用。英創隨之也向用戶提供了相關GPS的方案和例程,供用戶在實際應用中進行參考。本文介紹了英創C# GPS例程通過串口讀取GPS模塊定位數據的方法。
GPS模塊只要處于工作狀態就會源源不斷地把接收并計算出的GPS導航定位信息傳送到連接到它的嵌入式主板串口之上,在沒有進一步處理之前,傳送的數據是一長串字節流信息。因此必須經過程序將其轉化為有實際意義的;可供高層決策使用的定位信息數據。與其他通信協議類似,GPS模塊都遵循NMEA-0183協議,GPS進行信息提取,必須明確其幀結構,然后才能根據其結構完成對各個定位信息的提取;其發送到串口的數據主要由幀頭,幀尾和幀內數據組成。根據數據幀的不同,幀頭也不相同,主要有“#GPGGA”,“$GPGSA”,“$GPRMC”等。這些幀頭標識了后續幀內數據的組成結構,各幀均以回車符和換行符作為幀尾標識一幀的結束。對于通常的情況,大家所關心的定位數據如經緯度、速度、時間、航向等均以“$GPRMC”中獲取得到。該幀的結構及各字段釋義如下:
例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息
字段1:UTC時間,hhmmss.sss格式
字段2:狀態,A=定位,V=未定位
字段3:緯度ddmm.mmmm,度分格式(前導位數不足則補0)
字段4:緯度N(北緯)或S(南緯)
字段5:經度dddmm.mmmm,度分格式(前導位數不足則補0)
字段6:經度E(東經)或W(西經)
字段7:速度,節,Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000 - 180)度(前導位數不足則補0)
字段11:磁偏角方向,E=東W=西
字段16:校驗值
對于用戶的應用程序來講,要讀取GPS模塊的定位數據,無非是實現兩個簡單的步驟:(1)讀取串口數據;(2)將讀取的數據解析出來。
我們以預裝了WinCE嵌入式操作系統ARM9主板EM9161來連接GPS模塊,用C#來實現讀取GPS模塊發過來的串口數據,最方便的方法是直接使用VS2005提供的SerialPort串口類,這個串口類提供一個DataRecieved事件響應機制,可以簡單方便地讀取串口數據,如:
private SerialPort myserialPort = new SerialPort(); // 定義SerialPort串口類對象myserialPort
……
myserialPort.DataReceived += new SerialDataReceivedEventHandler(myserialPort_DataReceived);
// 當串口有數據收到時,啟動myserialPort_DataRecieved事件函數
收到的串口數據是標準的string字符串,以“$GPRMC”開頭的幀為例,收到的每一幀數據string都以回車換行符為結尾,可以以回車換行符為標志將數據string提取出來;而且這個數據幀的每個元素均以逗號分隔,可以通過逗號分隔將這個數據幀的每個元素提取到一個string數組里面進行進一步處理。如:
string GPS_text = ''; // 字符串GPS_text = 接收到的串口數據,缺省定義為空
// 串口有數據收到
private void myserialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
GPS_text = GPS_text + myserialPort.ReadExisting(); // 讀取串口數據
if (GPS_text.EndsWith('\n')) // 如果GPS_text字符串最后一個字符是“回車”
{
Invoke(new EventHandler(update_data)); // 通過Invoke方法執行update_data函數
}
}
private void update_data(object sender, EventArgs e)
{
string[] GPS_info = GPS_text.Split(','); // 按照逗號分隔把$GPRMC各種信號分割到字符串數組
…… // 處理GPS_info字符串數組,完成GPS數據顯示、處理等功能
GPS_text = ''; // 置空GPS_text以便存儲新的串口接收到的字符串
}
英創提供的例程運行界面如下:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35227
收藏 人收藏

    評論

    相關推薦

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?391次閱讀

    芯伯樂產品在GPS定位模塊上的設計方案

    模塊方框圖01產品介紹及應用ProductIntroductionandApplicationGPS是英文GlobalPositioningSystem(全球定位系統)的簡稱。利用GPS定位
    的頭像 發表于 10-15 08:07 ?173次閱讀
    芯伯樂產品在<b class='flag-5'>GPS</b><b class='flag-5'>定位</b><b class='flag-5'>模塊</b>上的設計方案

    GPS/北斗RTK差分定位系統的技術原理以及應用領域

    全球定位系統(GPS)和北斗衛星導航系統(BDS)都是使用衛星提供定位和導航信息的先進系統,它們在各個行業得到廣泛應用。本文將探討GPS/北
    的頭像 發表于 09-27 10:35 ?654次閱讀
    <b class='flag-5'>GPS</b>/北斗RTK差分<b class='flag-5'>定位</b>系統的<b class='flag-5'>技術</b>原理以及應用領域

    智慧園區人員定位及軌跡追蹤技術探討

    追蹤的相關技術和應用。 一、智慧園區人員定位技術 在智慧園區中,有許多方法可以實現人員的準確定位。以下將介紹幾種常見的人員
    的頭像 發表于 08-28 11:31 ?349次閱讀

    IP地址定位GPS定位技術解析與應用比較

    IP地址定位GPS定位是比較常見的定位技術。本文將與大家探討這兩種技術的工作原理、優缺點及其在
    的頭像 發表于 07-16 13:50 ?452次閱讀

    5分鐘讀懂GPS-RTK實時動態技術,建議收藏!

    由于”智慧工地“理念的興起和發展,目前越來越多的企業將信息技術手段融合于施工現場安全管理,構建智能化的安全監管模式。基于此,藍牙+LORA融合定位技術、UWB超寬帶定位
    的頭像 發表于 07-04 17:32 ?833次閱讀
    5分鐘讀懂<b class='flag-5'>GPS</b>-RTK實時動態<b class='flag-5'>技術</b>,建議收藏!

    基于STM32單片機的GPS定位系統設計

    本次設計的定位系統,是以STM32單片機作為核心控制器,可以控制 GPS 定位模塊對經緯度信息進行采集,可以對安全值進行設定,當超過安全范圖
    的頭像 發表于 06-24 09:50 ?2135次閱讀
    基于STM32單片機的<b class='flag-5'>GPS</b><b class='flag-5'>定位</b>系統設計

    利用自定義數據傳輸在機智云上實現GPS定位數據的傳輸

    GPS定位數據通常以經度和緯度的形式表示,是一種地理位置信息。要將GPS定位數據加入機智云平臺,可以通過
    的頭像 發表于 05-09 08:10 ?376次閱讀
    利用自定義<b class='flag-5'>數據</b>傳輸在機智云上實現<b class='flag-5'>GPS</b><b class='flag-5'>定位數據</b>的傳輸

    基于STM32的GPS定位

    簡介: 基于STM32的GPS定位儀項目結合了高性能MCU與GPS技術,實現了一種功能強大、成本合理的定位方案。MCU解析
    的頭像 發表于 05-07 09:45 ?782次閱讀
    基于STM32的<b class='flag-5'>GPS</b><b class='flag-5'>定位</b>儀

    UWB定位技術GPS定位區別及應用

    GPS定位技術是一種基于衛星定位系統的全球定位技術,其主要優勢在于可以覆蓋全球范圍,并且能夠提供
    的頭像 發表于 04-24 16:52 ?1834次閱讀
    UWB<b class='flag-5'>定位</b><b class='flag-5'>技術</b>與<b class='flag-5'>GPS</b><b class='flag-5'>定位</b>區別及應用

    安信可A9G開發板上報GPS定位數據實現微信公眾號定位顯示

    文章目錄 一、準備工作 1.1 硬件準備 1.2軟件準備 1.3微信公眾號 二、AT指令 三、相關配置 四、訂閱信息和上報數據到公眾號 五、聯系我們 前言 本文將介紹如何使用將A9G通過GPS
    的頭像 發表于 03-21 11:26 ?520次閱讀
    安信可A9G開發板上報<b class='flag-5'>GPS</b><b class='flag-5'>定位數據</b>實現微信公眾號<b class='flag-5'>定位</b>顯示

    手機定位技術之衛星定位和移動基站定位

    GPS 是一種通過衛星信號來確定接收設備位置的定位技術。手機內置的 GPS 芯片可以接收來自衛星的信號,
    的頭像 發表于 02-26 15:19 ?5036次閱讀
    手機<b class='flag-5'>定位</b><b class='flag-5'>技術</b>之衛星<b class='flag-5'>定位</b>和移動基站<b class='flag-5'>定位</b>

    什么是gps定位? gps定位放線的步驟有哪些

    用戶的位置,從而實現定位。 GPS定位放線是一種使用GPS技術進行精確測量和放線的方法。它常用于
    的頭像 發表于 01-22 15:48 ?6431次閱讀

    C#網絡串口調試助手源碼

    非常牛B網絡串口調試助手C#源碼,支持添加多條協議
    發表于 12-27 09:45 ?4次下載

    GPS能室內定位嗎?

    GPS能室內定位嗎? GPS(全球衛星導航系統)是一種使用衛星技術進行定位和導航的系統,它可以在戶外環境下非常準確地確
    的頭像 發表于 12-12 14:39 ?2244次閱讀