Patrick6277 发表于 2020-6-13 10:22 不要固定逗号位置,要用strstr来查找到逗号开始解析; 比如下面的GPS数据,第一个逗号后面是什么数据,第二个逗号后面是纬度,第三个逗号后面是南北,第四个逗号后面是经度,第五个逗号后面是东西,依次类推,不能固定数组第几个位是什么数据 $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 发表于 2020-6-13 11:51 GPS不懂怎么仿真。。。 |
用仿真器看GPS收到的数据,这样调试起来比较快 |
294479435 发表于 2020-6-12 16:06 是要用if来判断吗,比如加个 if(GNGGA1[6] ==','&& GNGGA1[17]==',') { LCD1602_char(GNGGA1[7]) ;//时 LCD1602_char(GNGGA1[8]); } 来判断,因为第六位和第十七位是逗号,然后让逗号之间的数值显示? |
首先确定你的lcd的显示字符api没有问题的话,那就是你的gps解析有问题了,看了下你的解析,应该是GPS解析有误吧,时间不可能固定在数组的第几位,需要根据逗号“,”来分别解析经纬度和时间 |