GPS串口读数据问题?
本人正在调试GPS,第一次接触,采用的是U-BLOX模块。直接将其接到电脑串口看了一下数据。每次接收的基本都是六条。想问一下,如果我用串口中断读取这些数据,每次中断来读取的就是一个字符,还是所有的这六条信息??有没有比较好的算法找到GPPGGA部分?比如GPGGA数据是GPGGA, 032857.000, 2304.6712,N,11314.1637,E,1,4,2.97,32.4,M,-6.8,M,,*7B ;如何通过这些数据计算出经纬度和时间?? 楼主为何不自己百度一下?我贴个部分内容上来。论坛就有很多例子。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>
$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据);
<1>UTC时间,格式为hhmmss.sss;
<2>纬度,格式为ddmm.mmmm(第一位是零也将传送);
<3>纬度半球,N或S(北纬或南纬)
<4>经度,格式为dddmm.mmmm(第一位零也将传送);
<5>经度半球,E或W(东经或西经)
<6>GPS状态, 0未定位, 1非差分定位, 2差分定位, 3无效PPS, 6正在估算
<7>使用卫星数量,从00到12(第一个零也将传送)
<8>水平精确度,0.5到99.9
<9>天线离海平面的高度,-9999.9到9999.9米
M 指单位米
<10> 大地水准面高度,-9999.9到9999.9米
M 指单位米
<11> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量,如不是差分定位则为空
<12>差分参考基站标号,从0000到1023(首位0也将传送)。
* 语句结束标志符
xx 从$开始到*之间的所有ASCII码的异或校验和
<CR> 回车
<LF> 换行 就是这个版块就有很多例子 百度GPS数据格式。。
对照2楼,以下是楼主需要的: 032857.000, 2304.6712,N,11314.1637,E
位置曝光啦 很简单啊,至于你说的串口中断是接收一个字节后触发还是全部收到后才触发,就要看你的硬件平台了,正常是一个字节后触发,有的mcu支持片内缓冲区,可以硬件自动存到缓冲区,当缓冲区的量到达一个阀值的时候才触发中断。。。算法嘛,很简单的,这里也没空给你细说,建议你先提高一下编程这块。。。我也刚接触GPS 一般是接受一个字节就会触发中断。如果内存足够的话,可以建一个缓冲区,当串口接收到$时开始往缓冲存数据,接收到\n时表示一帧报文接收完成,然后根据NMEA协议就可以解析了。以9600的比特率算,接收一个字节需要1ms,而这点时间足够将上一帧解析完成。论坛例子很多。
当地时间11:28:57,楼主在北纬23度04.6712分,东经113度14.1637分处。
爱国者已准备就绪,倒计时30....29......28...... 我用的STM32串口DMA传送到内存,然后解析的是GPRMC格式帧。 楼主,这个是nmea0183协议 正在搞,mark一下 AIHHLI 发表于 2013-4-27 17:13 static/image/common/back.gif
当地时间11:28:57,楼主在北纬23度04.6712分,东经113度14.1637分处。
爱国者已准备就绪,倒计时30....2 ...
这位大神在吗。我的串口读出是
$GPRMC,014434.00,V,,,,,,,141113,,,N*7C
$GPVTG,,,,,,,,,N*30
$GPGGA,014434.00,,,,,0,00,99.99,,,,,,*60
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,04,,,17,17,,,36*7A
请问是否正常了? cclgxuanshao 发表于 2013-11-14 09:56 static/image/common/back.gif
这位大神在吗。我的串口读出是
$GPRMC,014434.00,V,,,,,,,141113,,,N*7C
$GPVTG,,,,,,,,,N*30
正常的,就是还没有定位。 AIHHLI 发表于 2013-11-14 10:06 static/image/common/back.gif
正常的,就是还没有定位。
感谢大神,在室内有影响吧 cclgxuanshao 发表于 2013-11-14 10:22 static/image/common/back.gif
感谢大神,在室内有影响吧
肯定啊。
GPS在室内一般不能定位的..... AIHHLI 发表于 2013-11-14 10:40 static/image/common/back.gif
肯定啊。
GPS在室内一般不能定位的.....
大神,不知道用过NEO-6M-0-001这款芯片没,上电发送出的数据可以屏蔽一些吗,只需用经纬度,时间,和一个误差精度就好,用U-center修改了几次没成功 cclgxuanshao 发表于 2013-11-14 14:37 static/image/common/back.gif
大神,不知道用过NEO-6M-0-001这款芯片没,上电发送出的数据可以屏蔽一些吗,只需用经纬度,时间,和一个 ...
不是你需要的数据不处理就可以了。标准协议难道卖GPS的人告诉你了针对不同的客户可以屏蔽一些功能? waterghost 发表于 2013-11-14 14:41 static/image/common/back.gif
不是你需要的数据不处理就可以了。标准协议难道卖GPS的人告诉你了针对不同的客户可以屏蔽一些功能? ...
感谢大神热心指导。 cclgxuanshao 发表于 2013-11-14 14:37
大神,不知道用过NEO-6M-0-001这款芯片没,上电发送出的数据可以屏蔽一些吗,只需用经纬度,时间,和一个 ...
Ublox的不清楚,我知道sirf 有一些指令是可以屏蔽掉一些语句的。 AIHHLI 发表于 2013-4-27 17:13
当地时间11:28:57,楼主在北纬23度04.6712分,东经113度14.1637分处。
爱国者已准备就绪,倒计时30....2 ...
金大将:我们今天正式向兄弟国通告我们将进行核试验,时间是10...
竹席:10天以后吗?
金大将:9,8,。。。
竹席:。。。 最近也想玩下这方面的东西,手边有个泰斗的双模模块,TD3020C,返回来的数据不能准确定位,连接双模天线,在室内,用过的谁能说下什么原因。 求高手指点 GPS网络又不是手机网络,放室内怎么接收卫星信号。 但是在室内可是卫星数量还是蛮多的,为什么不能定位呢?而且在室外也会出现长时间无法定位,是什么原因?
页:
[1]