- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPS定位程序解析
#includestdio.h
#includestdlib.h
#includestring.h
#includesys/types.h
#includesys/stat.h
#includefcntl.h
#includeunistd.h
#includetermios.h
#includestring.h
#define BUF_SIZE 1024
typedef struct{
int year;
int month;
int day;
int hour;
int minute;
int second;
}date_time;
typedef struct{
date_time D;
char status;
double latitude;
double longitude;
char NS;
char EW;
double speed;
double high;
}GPS_INFO;
int open_dev(char *dev)
{
int fd = open( dev, O_RDWR| O_NDELAY ); //| O_NOCTTY | O_NDELAY
if (-1 == fd)
{
perror(Cant Open Serial Port !);
return -1;
}
else
return fd;
}
int init_serial(int fd,int nSpeed, int nBits, char nEvent, int nStop)
{
struct termios newtio,oldtio;
if(tcgetattr( fd,oldtio) != 0) {
perror(SetupSerial 1);
return -1;
}
bzero( newtio, sizeof( newtio ) );
newtio.c_cflag |= CLOCAL | CREAD;
newtio.c_cflag = ~CSIZE;
switch( nBits )
{
case 7:
newtio.c_cflag |= CS7;
break;
case 8:
newtio.c_cflag |= CS8;
break;
}
switch( nEvent )
{
case O:
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_iflag |= (INPCK | ISTRIP);
break;
case E:
newtio.c_iflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB;
newtio.c_cflag = ~PARODD;
break;
case N:
newtio.c_cflag = ~PARENB;
break;
}
switch( nSpeed )
{
case 2400:
cfsetispeed(newtio, B2400);
cfsetospeed(newtio, B2400);
break;
case 4800:
cfsetispeed(newtio, B4800);
cfsetospeed(newtio, B
文档评论(0)