我们在开发板子上安装有GPS导航芯片,并连接室外GPS导航天线,当在Android上运行Google Map导航软件或其他GPS导航检查软件时,通过Logcat都会发现以下错误输出:
D/gps_mstar( 1955): gps fix frquency set to 1 secs
D/gps_mstar( 1955): mode is GPS_POSITION_MODE_STANDALONE
D/gps_mstar( 1955): gps fix frquency set to 1 secs
D/gps_mstar( 1955): freerunner_gps_start: called
D/gps_mstar( 1955): gps_state_start: could not send CMD_START command: ret=-1: Bad file number
请问各位是否遇到过这样的问题,请教一下如何解决。
谢谢!
D/gps_mstar( 1955): gps fix frquency set to 1 secs
D/gps_mstar( 1955): mode is GPS_POSITION_MODE_STANDALONE
D/gps_mstar( 1955): gps fix frquency set to 1 secs
D/gps_mstar( 1955): freerunner_gps_start: called
D/gps_mstar( 1955): gps_state_start: could not send CMD_START command: ret=-1: Bad file number
请问各位是否遇到过这样的问题,请教一下如何解决。
谢谢!
static void
gps_state_start( GpsState* s )
{
char cmd = CMD_START;
int ret; do { ret=write( s->control[0], &cmd, 1 ); }
while (ret < 0 && errno == EINTR); if (ret != 1)
D("%s: could not send CMD_START command: ret=%d: %s",
__FUNCTION__, ret, strerror(errno));
}
static void
gps_state_stop( GpsState* s )
{
char cmd = CMD_STOP;
int ret; do { ret=write( s->control[0], &cmd, 1 ); }
while (ret < 0 && errno == EINTR); if (ret != 1)
D("%s: could not send CMD_STOP command: ret=%d: %s",
__FUNCTION__, ret, strerror(errno));
}
看下:
http://groups.google.com/group/android-porting/browse_thread/thread/dfa5b87ad0a608a3
这不是指示你去查看 s->control[0]、s->control[1]的值是否正确么,
加打印信息,看这两个值,再做判断