首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接到gpsd

无法连接到gpsd
EN

Stack Overflow用户
提问于 2015-06-11 06:20:44
回答 1查看 871关注 0票数 1

我有一个带有Linux m的板正在运行。现在我不想在我的程序中获取GPS数据。所以我设置了一个从调制解调器获取gps信息的gpsdeamon。deamon运行良好,如果我将:2947(这是gpsd的标准端口),我将从deamon生成一组json字符串,如下所示:

{“类”:“TPV”、“标签”:“GGA”、“设备”:“/dev/ttyUSB2 2”、“模式”:3、"lat":51.282822633、“lon":11.404333250、"alt":327.500}

所以gpsd的设置是正确的。

但是在我的C程序中,我无法连接到这个端口,我不知道为什么。我的守则是这样的:

代码语言:javascript
复制
#include <gps.h>
struct gps_data_t *gpsdata = 0;

int main() {
if(gps_open("localhost", "2947", gpsdata)<0){
        fprintf(stderr,"Could not connect to GPSd\n");
        return(-1);
    }
/* some more stuff */
}

问题是,函数gps_open()总是返回-1。所有库似乎都已正确安装。你知道我能做些什么吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-17 10:28:28

可以使用gps_errstr函数查看错误,如下所示

代码语言:javascript
复制
#include <errno.h>
...

int main()
{
    if(gps_open("localhost", "2947", gpsdata)<0){
        fprintf(stderr,"Could not connect to GPSd (error %s)\n",
                gps_errstr(errno));
        return(-1);
    }
    /* some more stuff */ 
}

但是,问题是gps_open需要一个指向有效(非空) gps_data_t结构的指针,这样就可以声明gpsdata。

代码语言:javascript
复制
struct gps_data_t gpsdata[1];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30773098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档