- 15
- 0
- 约9.96千字
- 约 10页
- 2017-01-10 发布于湖北
- 举报
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
您可能关注的文档
最近下载
- 河海大学2022-2023学年第2学期《线性代数》期末试卷(B卷)及参考答案.docx
- 县审计局2025年度民主生活会班子对照检查材料(带案例).docx VIP
- PTH工分艺培训.ppt VIP
- 老年人生活照料与基础护理实务 第一章 老年人饮食照料.pptx VIP
- 石油钻机常识.ppt VIP
- 新能源汽车维修手册 HA-HAS-hev.pdf VIP
- 新华团体健康保障委托管理条款.pdf VIP
- 河海大学2021-2022学年第2学期《线性代数》期末试卷(B卷)及参考答案.docx
- (高清版)DB33∕T 2294-2020 母婴室建设与管理规范 .pdf VIP
- 石油钻机1.ppt VIP
原创力文档

文档评论(0)