天嵌 ARM开发社区

 找回密码
 注册
查看: 4458|回复: 14

gps问题

[复制链接]
hayvane 发表于 2012-6-13 18:16:58 | 显示全部楼层 |阅读模式
请问 gps 模块 是不是我上电之后 就开始运行? 还是 上电之后,我在QT 中 向串口发送数据,gps才工作?GPS 需要初始化吗?
TQ-lkp 发表于 2012-6-14 09:01:28 | 显示全部楼层
本帖最后由 TQ-lkp 于 2012-6-14 09:02 编辑

串口参数设置正确即可
gps是一直向串口送数据出来的,不要向串口发送什么数据
只要根据内容解析就行了
我们提供的gps的源码供下载,自行搜索下
 楼主| hayvane 发表于 2012-6-14 10:33:03 | 显示全部楼层
TQ-lkp 发表于 2012-6-14 09:01
串口参数设置正确即可
gps是一直向串口送数据出来的,不要向串口发送什么数据
只要根据内容解析就行了

你们的例子我看了,为什么 我看到里面的程序里面是ShowComMsg()里面 有这句 if (memcmp(cData, "$GPGGA", 6) == 0),比较的是字符串$GPGGA,而我查看的一些GPS资料,开头的字符串都是$GPRMC呢
TQ-lkp 发表于 2012-6-14 14:10:15 | 显示全部楼层
分好几中格式的

GPS 数据格式
GPRMC(建议使用最小GPS数据格式)

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。
2) 定位状态,A = 数据可用,V = 数据不可用。
3) 纬度,格式:度度分分.分分分分(ddmm.mmmm)。
4) 纬度区分,北半球(N)或南半球(S)。
5) 经度,格式:度度分分.分分分分。
6) 经度区分,东(E)半球或西(W)半球。
7) 相对位移速度, 0.0 至 1851.8 knots
8) 相对位移方向,000.0 至 359.9度。实际值。
9) 日期,格式:日日月月年年(ddmmyy)。
10) 磁极变量,000.0 至180.0。
11) 度数。
12) Checksum.(检查位)

GPGSV(所示卫星格式)

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>,<8><CR><LF>
1) 天空中收到讯号的卫星总数。
2) 定位的卫星总数。
3) 天空中的卫星总数,00 至 12。
4) 卫星编号, 01 至 32。
5) 卫星仰角, OO 至 90 度。
6) 卫星方位角, OOO 至 359 度。实际值。
7) 讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。
8) Checksum.(检查位).

第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。

GPGSA(GPS精度指针及使用卫星格式)
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF>

1)模式 2:M = 手动, A = 自动。
2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。
4) PDOP-位置精度稀释 0.5 至 99.9.
5) HDOP-水平精度稀释 0.5 to 99.9.
6) VDOP-垂直精度稀释 0.5 to 99.9.
7) Checksum.(检查位).   

  

GPS固定数据输出语句($GPGGA)   
这是一帧GPS定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。例1是用GN-77N和笔者开发的软硬件接口,在笔者所在地接收到的$GPGGA语句的内容。
例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,-7.0,M,,*65   
其标准格式为:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)  
各部分所对应的含义为:   
(1)定位UTC时间:05时09分01秒  
(2)纬度(格式ddmm.mmmm:即dd度,mm.mmmm分);  
(3)N/S(北纬或南纬):北纬39度31.4449分;  
(4)经度(格式dddmm.mmmm:即ddd度,mm.mmmm分);  
(5)E/W(东经或西经):东经116度43.5123分;  
(6)质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS;  
(7)可使用的卫星数(0~8):可使用的卫星数=07;  
(8)水平精度因子(1.0~99.9);水平精度因子=1.4;  
(9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m);   
(10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m;   
(11)差分GPS数据年龄,实时GPS时无:无;   
(12)差分基准站号(0000~1023),实时GPS时无:无;   
*总和校验域;  
hh 总和校验数:65   
(CR)(LF)回车,换行。   

b.可视卫星状态输出语句($GPGSV)     
例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78   
标准格式:   $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF)   
各部分含义为:   
(1)总的GSV语句电文数;2;
(2)当前GSV语句号:1;   
(3)可视卫星总数:08;   
(4)卫星号:06;   
(5)仰角(00~90度):33度;   
(6)方位角(000~359度):240度;   
(7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);   
*总和校验域;  
hh 总和校验数:78;   
(CR)(LF)回车,换行。   
注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:  
(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。
 楼主| hayvane 发表于 2012-6-15 13:21:08 | 显示全部楼层
TQ-lkp 发表于 2012-6-14 14:10
分好几中格式的

GPS 数据格式

但是 我打开 GPS 后,串口并没有数据。一直没有。串口设置如下:
int fd = -1;
        const char *devName = "/dev/ttySAC3";
        fd = ::open(devName, O_RDWR|O_NOCTTY|O_NDELAY);
        if (fd < 0) {
                QMessageBox::warning(this, tr("Error"), tr("Fail to open serial port!"));           
                return -1;
             }
        termios serialAttr;
        memset(&serialAttr, 0, sizeof serialAttr);
        serialAttr.c_cflag = HUPCL | CREAD | CLOCAL;
        serialAttr.c_cc[VMIN] = 1;   
                    
        cfsetispeed(&serialAttr,B4800);               
        cfsetospeed(&serialAttr,B4800);
        serialAttr.c_cflag &= ~CSIZE; /* 用数据位掩码清空数据位设置 */
        serialAttr.c_cflag |= CS8;
        serialAttr.c_iflag = IGNPAR;

        if (tcsetattr(fd, TCSANOW, &serialAttr) != 0) {
                   return -1;
             }

TQ-lkp 发表于 2012-6-15 18:39:19 | 显示全部楼层
1、确认串口是否正确,测试方法,短路等
2、GPS是否正常工作
vvb9137 发表于 2012-6-16 22:32:51 | 显示全部楼层
TQ-lkp 发表于 2012-6-15 18:39
1、确认串口是否正确,测试方法,短路等
2、GPS是否正常工作

我的GPS上电好像也没有输出    我是用串口调试软件看的
vvb9137 发表于 2012-6-16 22:55:28 | 显示全部楼层
朋友 请问你的调试好了吗??      我的用串口调试软件、示波器  都没看到输出!!!   我很怀疑我的模块坏了...        不可能没有一点输出啊  
vvb9137 发表于 2012-6-17 21:44:59 | 显示全部楼层
TQ-lkp 发表于 2012-6-15 18:39
1、确认串口是否正确,测试方法,短路等
2、GPS是否正常工作

版主   我的GPS啥都没输出  怎么回事呢?
TQ-lkp 发表于 2012-6-18 18:05:28 | 显示全部楼层
应该是串口没有接好
 楼主| hayvane 发表于 2012-6-19 16:52:03 | 显示全部楼层
vvb9137 发表于 2012-6-16 22:55
朋友 请问你的调试好了吗??      我的用串口调试软件、示波器  都没看到输出!!!   我很怀疑我的模块坏 ...

我的是线路问题。要不你在PC 上试试,看行不行。
仙帝将王 发表于 2012-9-1 13:32:15 | 显示全部楼层
各位串口没有输出数据的问题解决了吗?小弟也碰到了这样的问题,我是按照淘宝店的图片上连接到TQ2440的,为什么没有一点数据输出来啊
眺望,永恒 发表于 2013-7-29 15:42:03 | 显示全部楼层
TQ-lkp 发表于 2012-6-14 09:01
串口参数设置正确即可
gps是一直向串口送数据出来的,不要向串口发送什么数据
只要根据内容解析就行了

你好,我买了tq2440的板子和gps模块一起都是天嵌的,但是我是连接到开发板上后用那个自带的的应用测试gps模块,但始终没有收到任何数据,不知道是什么情况,还有我想问问那些串口,波特率应该设置为多少,我都试了,但没任何反应
眺望,永恒 发表于 2013-7-29 15:44:19 | 显示全部楼层
仙帝将王 发表于 2012-9-1 13:32
各位串口没有输出数据的问题解决了吗?小弟也碰到了这样的问题,我是按照淘宝店的图片上连接到TQ2440的,为 ...

我现在也遇到了这个问题,一点输出都没有,请问最后你是怎么解决的呢?
亚瑟王 发表于 2013-7-29 16:14:18 | 显示全部楼层
眺望,永恒 发表于 2013-7-29 15:44
我现在也遇到了这个问题,一点输出都没有,请问最后你是怎么解决的呢?

不要同一个问题到处发帖,特此警告。
回复见:http://www.armbbs.net/forum.php?mod=viewthread&tid=6088
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-2 03:04 , Processed in 1.035196 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表