GPS收到得衛星訊號轉換 |
答題得分者是:hsk6138
|
arthur760119
一般會員 發表:8 回覆:7 積分:3 註冊:2007-06-26 發送簡訊給我 |
關於GPS收到得訊號轉換成經度、緯度、地方高度…等
我知道透過裝置接收這些訊號,主要在車用導航方面所用到的訊號有GPGGA、GPRMC、GPGSA、GPGSV...等 GPS接收到的訊號實例: $GPGGA,141457,2504.7314,N,12134.5971,E,0,00,,,M,,M,,*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,11,02,01,059,,05,06,166,,06,15,228,,09,56,176,*76 $GPGSV,3,2,11,10,20,096,,15,36,317,,17,54,313,,18,29,317,*71 $GPGSV,3,3,11,23,55,030,,26,46,021,,28,11,134,,,,,*42 參考過這篇http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=68783大大得發表 目前還是新手的我,覺得有點難度 想先做一個簡單得,訊號自已輸入,轉換出經緯度、高度...等訊息出來 努力研究Delphi的學生 |
wewe760109
一般會員 發表:9 回覆:14 積分:4 註冊:2007-06-26 發送簡訊給我 |
|
arthur760119
一般會員 發表:8 回覆:7 積分:3 註冊:2007-06-26 發送簡訊給我 |
我覺得問題在於
我該用哪些元件跟語法去做轉換得功能~~ 因為看過http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=68783 這位大大得發表 程式碼中用了MSCOMM控件接收 但我只是要做一個模擬訊號輸入 按一個件,轉換出訊息出來 所以不用像大大些得這麼多吧 |
hsk6138
初階會員 發表:12 回覆:59 積分:49 註冊:2003-12-11 發送簡訊給我 |
例
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10 按一個按鈕的事件 將上面字串分解 $GPRMC ---RMC protocol header 161229.487--hhmmss.sss時分秒 A---A=data valid or V=data not valid 3723.2475---ddmm.mmmm N----N=north or S=south 12158.3416---dddmm.mmmm W---E=east or W=west 0.13---knots 309.62----degreesTrue 120598---ddmmyy年月日 E=east or W=west AA---=Autonomous, D=DGPS, E= *10--End of message termination 取出數值與年月日時分秒 用label1.caption去顯示 ===================引 用 arthur760119 文 章=================== 我覺得問題在於 我該用哪些元件跟語法去做轉換得功能~~ 因為看過http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=68783 這位大大得發表 程式碼中用了MSCOMM控件接收 但我只是要做一個模擬訊號輸入 按一個件,轉換出訊息出來 所以不用像大大些得這麼多吧 |
arthur760119
一般會員 發表:8 回覆:7 積分:3 註冊:2007-06-26 發送簡訊給我 |
感謝hsk6138為我解答
你說得我了解了,但是有點小地方不太明白 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10 的, ,*10 他的磁極變量和度數空白就是沒有嗎? 我分析一下我的例子$GPGGA,141457,2504.7314,N,12134.5971,E,0.00...M..M..*52 (1) 141457 (定位標準時間(時時分分秒秒))。 (2) 02504.7314 (緯度(度度分分.分分分分))。 (3) N (緯度區分:北半球)。 (4) 12134.5971 (經度(度度度分分.分分分分))。 (5) E (經度區分:東半球) (6) 0.00 (表示未定位或無效的定位)。 (7) 無 (使用中的衛星顆數)。 (8) 無 (水平稀釋精度)。 (9) M (MSL海拔)。 (10) 無 (GEOIDAL高度)。 (11) M (偏差修正)。 (12) *52 (Checks um.檢查位元)。 是不是這樣子呢,那MSL海拔與偏差修正出現 M 的訊號是為什麼呢? 那檢查位元*52與*10差別是什麼呢?? ===================引 用 hsk6138 文 章=================== 例 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10 按一個按鈕的事件 將上面字串分解 $GPRMC?? ---RMC protocol header 161229.487--hhmmss.sss時分秒 A---A=data valid or V=data not valid 3723.2475---ddmm.mmmm N----N=north or S=south 12158.3416---dddmm.mmmm W---E=east or W=west 0.13---knots 309.62----degreesTrue 120598---ddmmyy年月日 E=east or W=west AA---=Autonomous, D=DGPS, E= *10--End of message termination 取出數值與年月日時分秒 用label1.caption去顯示 |
hsk6138
初階會員 發表:12 回覆:59 積分:49 註冊:2003-12-11 發送簡訊給我 |
那MSL海拔與偏差修正出現 M 的訊號是為什麼呢?
其實我也不知道如何去計算,我只是去應用這晶片所給的值 而這晶片公司有沒有開放設計方式說明我就不知了 那檢查位元*52與*10差別是什麼呢?? 這檢查位元好像從第一個開始每個BYTE去做XOR 因為我做的是前年的事,忘了 你用小算盤算算看 Checks um 是給的資料做出來的 所以幾乎每次不一樣 ===================引 用 arthur760119 文 章=================== 你說得我了解了,但是有點小地方不太明白 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10 的, ,*10 他的磁極變量和度數空白就是沒有嗎? 我分析一下我的例子$GPGGA,141457,2504.7314,N,12134.5971,E,0.00...M..M..*52 (1) 141457 (定位標準時間(時時分分秒秒))。 (2) 02504.7314 (緯度(度度分分.分分分分))。 (3) N (緯度區分:北半球)。 (4) 12134.5971 (經度(度度度分分.分分分分))。 (5) E (經度區分:東半球) (6) 0.00 (表示未定位或無效的定位)。 (7) 無 (使用中的衛星顆數)。 (8) 無 (水平稀釋精度)。 (9) M (MSL海拔)。 (10) 無 (GEOIDAL高度)。 (11) M (偏差修正)。 (12) *52 (Checks um.檢查位元)。 是不是這樣子呢,那MSL海拔與偏差修正出現 M 的訊號是為什麼呢? 那檢查位元*52與*10差別是什麼呢??
編輯記錄
hsk6138 重新編輯於 2007-07-16 09:44:31, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |