![]() |
發(fā)布時間: 2020-6-12 12:51
正文摘要:/***********************************main.c***********************************/ #include <reg51.h> #include "lcd1602.h" #include "gps.h" #include "delay.h" bit flag_GPS_OK =0; ... |
Patrick6277 發(fā)表于 2020-6-13 10:22 不要固定逗號位置,要用strstr來查找到逗號開始解析; 比如下面的GPS數(shù)據(jù),第一個逗號后面是什么數(shù)據(jù),第二個逗號后面是緯度,第三個逗號后面是南北,第四個逗號后面是經(jīng)度,第五個逗號后面是東西,依次類推,不能固定數(shù)組第幾個位是什么數(shù)據(jù) $GNGGA,045625.000,3033.74024,N,10405.67012,E,1,07,2.6,446.2,M,0.0,M,,*71 $GNGLL,3033.74024,N,10405.67012,E,045625.000,A,A*43 $GPGSA,A,3,11,17,28,195,,,,,,,,,3.9,2.6,2.9*06 $BDGSA,A,3,07,10,12,,,,,,,,,,3.9,2.6,2.9*23 $GPGSV,4,1,13,01,,,36,03,26,107,,06,17,213,,07,26,180,*41 $GPGSV,4,2,13,11,16,049,33,17,48,298,19,19,30,275,,22,25,079,*74 $GPGSV,4,3,13,28,62,347,21,30,49,211,,193,,,14,194,41,140,03*4C $GPGSV,4,4,13,195,56,061,33*72 $BDGSV,1,1,03,07,63,101,29,10,78,009,23,12,53,023,31*52 $GNRMC,045625.000,A,3033.74024,N,10405.67012,E,0.00,44.16,060620,,,A*41 $GNVTG,44.16,T,,M,0.00,N,0.00,K,A*14 $GNZDA,045625.000,06,06,2020,00,00*48 $GPTXT,01,01,01,ANTENNA OK*35 |
lyq130 發(fā)表于 2020-6-13 11:51 GPS不懂怎么仿真。。。 |
用仿真器看GPS收到的數(shù)據(jù),這樣調(diào)試起來比較快 |
294479435 發(fā)表于 2020-6-12 16:06 是要用if來判斷嗎,比如加個 if(GNGGA1[6] ==','&& GNGGA1[17]==',') { LCD1602_char(GNGGA1[7]) ;//時 LCD1602_char(GNGGA1[8]); } 來判斷,因為第六位和第十七位是逗號,然后讓逗號之間的數(shù)值顯示? |
首先確定你的lcd的顯示字符api沒有問題的話,那就是你的gps解析有問題了,看了下你的解析,應該是GPS解析有誤吧,時間不可能固定在數(shù)組的第幾位,需要根據(jù)逗號“,”來分別解析經(jīng)緯度和時間 |
Powered by 單片機教程網(wǎng)