91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 13KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-09
  • 語言: 其他
  • 標簽: NMEA??C語言??

資源簡介

自己寫的C代碼GPS數據解析程序/正在進行的是基于MINIGUI的GPS導航項目。。。完成后將續傳。。。eeweifeng111@q63.com

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#define?GPS_RECV_CMD_MAX_BUF??256?

struct?termios?newtio?oldtio;

int?set_opt(int?fdint?nSpeed?int?nBits?char?nEvent?int?nStop)
{
if??(tcgetattr(fd?&oldtio)?!=?0)?{?
perror(“SetupSerial?1“);
return?-1;
}

????????newtio?=?oldtio;

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?B4800);
break;
case?9600:
cfsetispeed(&newtio?B9600);
cfsetospeed(&newtio?B9600);
break;
case?115200:
cfsetispeed(&newtio?B115200);
cfsetospeed(&newtio?B115200);
break;
default:
cfsetispeed(&newtio?B9600);
cfsetospeed(&newtio?B9600);
break;
}

if(nStop?==?1)
newtio.c_cflag?&=?~CSTOPB;
else?if?(nStop?==?2)
????????newtio.c_cflag?|=?CSTOPB;

newtio.c_cflag?|=?CLOCAL?|?CREAD;?
newtio.c_lflag?&=?~(ICANON?|?ECHO?|?ECHOE?|?ISIG);//?raw?mode?output?no?echo.
????????newtio.c_oflag?&=?~OPOST;//turn?off?out?control?bits

newtio.c_cc[VTIME]?=?0;
newtio.c_cc[VMIN]?=?1;

tcflush(fd?TCIOFLUSH);
if((tcsetattr(fd?TCSANOW?&newtio))?!=?0)
{
perror(“com?set?error“);
return?-1;
}
printf(“set?done!\n“);
return?0;
}

int?open_port(int?fdint?comport)
{

if?(comport?==?1)
{ fd?=?open(?“/dev/ttyS0“?O_RDWR?|?O_NOCTTY?|?O_NDELAY);
if?(-1?==?fd){
perror(“Can‘t?Open?Serial?Port“);
return(-1);
}
else?
printf(“open?ttyS0?.....\n“);
}
else?if(comport?==?2)
{ fd?=?open(?“/dev/ttyUSB0“?O_RDWR?|?O_NOCTTY?|?O_NDELAY);//?|?O_NONBLOCK
if?(-1?==?fd){
perror(“Can‘t?Open?Serial?Port“);
return(-1);
}
else?
printf(“open?ttyS1?.....\n“);
}
else?if?(comport?==?3)
{
fd?=?open(?“/dev/ttyS2“?O_RDWR?|?O_NOCTTY?|?O_NDELAY);
if?(-1?==?fd){
perror(“Can‘t?Open?Serial?Port“);
return(-1);
}
else?
printf(“open?ttyS2?.....\n“);
}

if(fcntl(fd?F_SETFL?0)? printf(“fcntl?failed!\n“);
else
printf(“fcntl=%d\n“?fcntl(fd?F_GETFL?0));

if(isatty(STDIN_FILENO)?==?0)
printf(“standard?input?is?not?a?terminal?device\n“);
else
printf(“isatty?success!\n“);

printf(“fd-open=%d\n“?fd);
return?fd;
}

typedef?struct?GGAINFO?{
int????bIsGPGGA;
? unsigned?char??hour?bjhour?min?sec?secFrac;

評論

共有 條評論