解析GPS(GPGGA)会导致奇怪的行为

时间:2016-02-01 08:02:11

标签: c linux parsing gps

我不知道如何解释这一点。 我每隔几次就得到一次GPS数据。好吧,我发现我没有修复GPS,可能是因为接收器靠近窗户。有几次我得到一个错误。是因为我问每一秒,我应该每隔2,3秒询问一次吗?

这是控制台输出。 xxxx.xxxx是我的纬度,yyyyy.yyyy是我的经度。

$GPGGA,07222,,,,,,,,,,,,, 
$GPGGA,072226.000,xxxx.x,,,,,,,,,,,,     
$GPGGA,072227.000,xxxx.xxxx,N,yyyyy.,,,,,,,,,, 
$GPGGA,072228.000,xxxx.xxxx,N,yyyyy.yyyy,E,0,02,,,,,,, 
$GPGGA,072229.000,xxxx.xxxx,N,yyyyy.yyyy,E,0,02,99.0,290.85,,,,, 
$GPGGA,072230.000,xxxx.xxxx,N,yyyyy.yyyy,E,0,02,99.0,290.85,M,48.0,M,*5, 
$GPGGA,072231.000,xxxx.xxxx,N,yyyyy.yyyy,E,0,02,99.0,290.85,M,48.0,M,*50, 
$GPGGA,072232.000,xxxx.xxxx,N,yyyyy.yyyy,E,0,02,99.0,290.85,M,48.0,M,*53,     
$GPGGA,07223,,,,,,,,,,,,, 
$GPGGA,07223,,,,,,,,,,,,, 
$GPGGA,07223,,,,,,,,,,,,, 
$GPGGA,07223,,,,,,,,,,,,, 
Error reading GPS from /dev/ttyO4!

1 个答案:

答案 0 :(得分:0)

我的猜测是你资源耗尽,你的文件描述符用完了。

您在函数的早期打开文件描述符,但是您永远不会关闭它,并且进程只有一定数量的可用文件描述符。一旦用完文件描述符,您就无法创建新的,var jsonResps = [myjsonresponse1, myjsonresponse2]; $('.candlespattern').each(function(i, t){ $(t).onclick(function(){ var jr = jsonResps[i]; $('#candletable tbody').append('<tr><td>'+jr.name+'</td><td>'+jr.date_time+'</td></tr>'); // not sure about that .trigger() }); }); 调用将失败并返回open,这不是有效的文件描述符,并且在您尝试以后会给您错误用它。

您需要做两个事情:第一个是在离开函数之前实际关闭文件描述符。第二个是检查-1是否失败(也可能由于其他原因而失败)。