GPS串口數(shù)據(jù)解碼程序_第1頁(yè)
GPS串口數(shù)據(jù)解碼程序_第2頁(yè)
GPS串口數(shù)據(jù)解碼程序_第3頁(yè)
GPS串口數(shù)據(jù)解碼程序_第4頁(yè)
GPS串口數(shù)據(jù)解碼程序_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、/utc時(shí)間緯度經(jīng)度定位警告定位質(zhì)量定位狀態(tài)海拔使用衛(wèi)星速度/utc日期逗號(hào)計(jì)數(shù)gps申口數(shù)據(jù)解碼程序bit receivingf = 0;bit endf = 0;bit rmcf = 0;bit ggaf = 0;bit vtgf = 0;bit gsaf = 0;uchar gps_time9;uchar xdata gps_wd12;uchar xdata gps_jd13;uchar gps warn;uchar gps_quality;uchar gps_status;uchar gps_alt8;uchar gps_sv3;uchar gps_speed10;uchar gps_

2、date9;uchar segment;uchar bytes_counter;uchar command;void gprmc(uchar);void gpgga(uchar);void gpvtg(uchar);void gpgsa(uchar);void gps (uchar);i *!功能:nmea-183協(xié)議解析 /入口: void返回:void全局變更修改:gps_*, segment, command, bytes_counter, newbytef修改記錄:2007. 8. 25 創(chuàng)建 by 54etvl/2007. 8. 26 vl 1修改解碼結(jié)構(gòu)/*/void gps(uc

3、har tmp)(/com_send_byte(tmp);if (tmp = $)起始標(biāo)志command = 0;receivingf = 1;bytes_counter = 0;segment = 0;清空語(yǔ)句段計(jì)數(shù)器return;if(receivingf)(if(tmp =,)(+segment;bytes_counter = 0;清空段字節(jié)計(jì)數(shù)器return;)if (tmp = *) 收到結(jié)束標(biāo)志(receivingf = 0;endf = 1;return;3 / 13if (segment = 0)if (bytes_counter = 3) 段 0,語(yǔ)句類型判斷 switch

4、(tmp)(case f gf : command = 1;語(yǔ)句類型 $gpggaggaf = 1;break;case * m* :command = 2;語(yǔ)句類型 $gprmcrmcf = 1;break;case t :command = 3;語(yǔ)句類型 $gpvtgvtgf = 1;break;case s : break;default:command = 0; 非有效數(shù)據(jù)類型,終止當(dāng)前數(shù)據(jù)接收receivingf = 0;break;5 / 13if (bytes_counter = 4)if (command=0 & tmp=,a)(command = 4;語(yǔ)句類型 $gpgsag

5、saf = 1;)else(switch(command)(case 1:gpgga(tmp);break;case 2:gprmc (tmp);break;case 3:gpvtg(tmp);break;case 4: gpgsa (tmp);break;default:break;+bytes_counter;)newbytef = 0;return;)void gpgga(uchar tmp)(switch(segment)(case 1: if(bytes_counter = 2 | bytes_counter = 5) $gpgga 段 1, utc 時(shí)間,hhmmss (時(shí)分秒)格

6、 式,取前6位 轉(zhuǎn)換為hh:mm:ss格式(gps_timebytes_counte r=if (bytes_counter8)gps_timebytes_counte r = tmp;gps_time8 = 0;break;case 2: if(bytes_counter =3)/$gpgga 段 2 處理 緯度 ddmm. mmmm (度分)格式(gps_wdbyte s_counter=.;接收第二個(gè)字節(jié)后插入+byt e s_count er;gps_wdll = 0;if (bytes_counter = 0)+byt e s_count er;gps_wdbytes_counter

7、 = tmp;break;9 / 13case 3:gps_wdo = tmp;$gpgga第3段處理 緯度半球n (北半球)或s (南半球)break;case 4:if (bytes_counter =4)/$gpgga 段 4 處理 經(jīng)度 dddmm. mmmm (度分)格式(gps_jdbyt e s_count er二.;接收第3個(gè)字節(jié)后插入,.+byt e s_count er;gps_jd12 :;if (bytes_counter = 0)+byt e s_count er;gps_jdbytes_counter = tmp;break;case 5:gps_jd0 = tmp

8、;$gpgga第5段處理經(jīng)度半球e (東經(jīng))或甲(西經(jīng))break;case 6: gps_quality = tmp;break;case 7:if(bytes_counter2)/$gpgga第7段處理 正在使用解算位置的衛(wèi)星數(shù)量(0012)(前面的0也將被傳輸)gps_svbyte s_counter =tmp;gps_sv2=0; break;case 9:if(bytes_counter7)/$gpgga第9段處理 海拔高度 度9999. 999999. 9)gps_altbytes_counter11 / 13=tmp;gps_alt byte s_count er+1=,” ;

9、break;default:break; )void gprmc(uchar tmp)(switch(segment) (case 9:if(bytes_counterl & bytes_counter3 & bytes_counter6)年(gps_datebytes_counter_4= tmp;gps.date2=;gps_date8 = 0; break;default:break;)void gpgsa(uchar tmp)switch(segment)(case 2:gps_status = tmp;$gpgsa第2段處理 定位類型,1二沒有定位,2=2d定位,3=3d定位break;default:break;)void gpvtg(uchar tmp)(switch(segment)(case 7: if (bytes_counter 7)地面速率(0000. 01851.8公里/小時(shí),前面的0也將被傳輸)(gps_speedbytes_counter = tmp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論