亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test1.c

?? GARMIN的GPS信息解釋器
?? C
字號:
/*
Copyright (c) 2005, David M Howard (daveh at dmh2000.com)
All rights reserved.

This product is licensed for use and distribution under the BSD Open Source License.
see the file COPYING for more details.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 

*/

/*
========================================================================================================
EXAMPLE : SETUP FOR GGA AND RMC SENTENCES WITH CHARACTER BY CHARACTER IO
=======================================================================================================
*/   


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "nmeap.h"

nmeap_gga_t g_gga;

char test_vector[] = {
"$GPGGA,123519,3929.946667,N,11946.086667,E,1,08,0.9,545.4,M,46.9,M,,*4A\r\n" /* good */
"$xyz,1234,asdfadfasdfasdfljsadfkjasdfk\r\n"                                  /* junk */
"$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68\r\n"      /* good */
"$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*48\r\n"      /* checksum error */
};

char *pvec = test_vector;

/** simulate character by character IO */
int readchar() 
{
    int ch;
    if (*pvec == 0) {
        ch = -1;
    }
    else {
        ch = *pvec++;
    }
    return ch;
}

/** do something with the GGA data */
static void print_gga(nmeap_gga_t *gga)
{
    printf("found GPGGA message %.6f %.6f %.0f %lu %d %d %f %f\n",
            gga->latitude  ,
            gga->longitude, 
            gga->altitude , 
            gga->time     , 
            gga->satellites,
            gga->quality   ,
            gga->hdop      ,
            gga->geoid     
            );
}

/** called when a gpgga message is received and parsed */
static void gpgga_callout(nmeap_context_t *context,void *data,void *user_data)
{
    nmeap_gga_t *gga = (nmeap_gga_t *)data;
    
    printf("-------------callout\n");
    print_gga(gga);
}


/** do something with the RMC data */
static void print_rmc(nmeap_rmc_t *rmc)
{
    printf("found GPRMC Message %lu %c %.6f %.6f %f %f %lu %f\n",
            rmc->time,
            rmc->warn,
            rmc->latitude,
            rmc->longitude,
            rmc->speed,
            rmc->course,
            rmc->date,
            rmc->magvar
            );
}

/** called when a gprmc message is received and parsed */
static void gprmc_callout(nmeap_context_t *context,void *data,void *user_data)
{
    nmeap_rmc_t *rmc = (nmeap_rmc_t *)data;
    
    printf("-------------callout\n");
    print_rmc(rmc);
}

/* ---------------------------------------------------------------------------------------*/
/* STEP 1 : allocate the data structures. be careful if you put them on the stack because */
/*          they need to be live for the duration of the parser                           */
/* ---------------------------------------------------------------------------------------*/
static nmeap_context_t nmea;	   /* parser context */
static nmeap_gga_t     gga;		   /* this is where the data from GGA messages will show up */
static nmeap_rmc_t     rmc;		   /* this is where the data from RMC messages will show up */
static int             user_data; /* user can pass in anything. typically it will be a pointer to some user data */

int main(int argc,char *argv[])
{
    int             status;
    char            ch;
    
	/* ---------------------------------------*/
	/*STEP 2 : initialize the nmea context    */                                                
	/* ---------------------------------------*/
    status = nmeap_init(&nmea,(void *)&user_data);
    if (status != 0) {
        printf("nmeap_init %d\n",status);
        exit(1);
    }
    
	/* ---------------------------------------*/
	/*STEP 3 : add standard GPGGA parser      */                                                
	/* -------------------------------------- */
    status = nmeap_addParser(&nmea,"GPGGA",nmeap_gpgga,gpgga_callout,&gga);
    if (status != 0) {
        printf("nmeap_add %d\n",status);
        exit(1);
    }

	/* ---------------------------------------*/
	/*STEP 4 : add standard GPRMC parser      */                                                
	/* -------------------------------------- */
    status = nmeap_addParser(&nmea,"GPRMC",nmeap_gprmc,gprmc_callout,&rmc);
    if (status != 0) {
        printf("nmeap_add %d\n",status);
        exit(1);
    }
    
	/* ---------------------------------------*/
	/*STEP 5 : process input until done       */                                                
	/* -------------------------------------- */
    for(;;) {
		/* ---------------------------------------*/
		/*STEP 6 : get a byte at a time           */                                                
		/* -------------------------------------- */
        ch = readchar();
        if (ch <= 0) {
            break;
        }
        
		/* --------------------------------------- */
		/*STEP 7 : pass it to the parser           */
		/* status indicates whether a complete msg */
		/* arrived for this byte                   */
		/* NOTE : in addition to the return status */
		/* the message callout will be fired when  */
		/* a complete message is processed         */
		/* --------------------------------------- */
        status = nmeap_parse(&nmea,ch);
        
		/* ---------------------------------------*/
		/*STEP 8 : process the return code        */                                                
		/* -------------------------------------- */
        switch(status) {
        case NMEAP_GPGGA:
			/* GOT A GPGGA MESSAGE */
            printf("-------------switch\n");
            print_gga(&gga);
            printf("-------------\n");
            break;
        case NMEAP_GPRMC:
			/* GOT A GPRMC MESSAGE */
            printf("-------------switch\n");
            print_rmc(&rmc);
            printf("-------------\n");
            break;
        default:
            break;
        }
    }
    
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠色综合欧洲selulu| 欧美日韩aaaaa| 欧美系列日韩一区| 久久久久国产一区二区三区四区| 亚洲蜜桃精久久久久久久| 久久99这里只有精品| 欧美在线免费播放| 中文久久乱码一区二区| 久久电影国产免费久久电影| 色综合久久综合中文综合网| 久久久精品免费网站| 日本人妖一区二区| 91国产视频在线观看| 国产精品久久久久久久久快鸭 | 国产精品一区三区| 欧美一区二区三区男人的天堂| 中文字幕在线观看一区二区| 男女性色大片免费观看一区二区 | 一区二区三区成人| 成人激情午夜影院| 国产亚洲污的网站| 国产精品香蕉一区二区三区| 91精品国产一区二区三区| 亚洲第一搞黄网站| 欧美视频三区在线播放| 一区二区三区丝袜| 色婷婷精品久久二区二区蜜臀av| 国产精品午夜在线观看| 国产一区二区毛片| 国产人成亚洲第一网站在线播放| 韩国女主播成人在线| 日韩精品一区二区三区视频 | 日韩精品久久久久久| 欧美片网站yy| 日韩av电影天堂| 精品乱人伦一区二区三区| 激情深爱一区二区| 中文字幕不卡三区| 91毛片在线观看| 亚洲一区二区四区蜜桃| 欧美日韩mp4| 九色综合国产一区二区三区| 久久先锋影音av| 99久久久久免费精品国产| 亚洲欧美一区二区三区极速播放 | 亚洲另类色综合网站| 欧美在线三级电影| 免费观看30秒视频久久| 精品国产区一区| 粉嫩欧美一区二区三区高清影视| 欧美激情在线一区二区| 色视频欧美一区二区三区| 亚洲国产日韩综合久久精品| 欧美精品久久99久久在免费线| 日韩精品国产精品| 久久精品日产第一区二区三区高清版| 国产91丝袜在线观看| 一区二区三区日韩| 日韩一区二区电影| 丁香婷婷综合网| 亚洲成人av在线电影| 26uuu精品一区二区| 99久精品国产| 久久www免费人成看片高清| 中文无字幕一区二区三区| 欧美体内she精高潮| 国产综合色产在线精品| 亚洲乱码一区二区三区在线观看| 欧美一区二区三区在线| av电影在线观看一区| 日本亚洲一区二区| 亚洲丝袜制服诱惑| 精品国产一区久久| 欧美三级韩国三级日本三斤| 国产曰批免费观看久久久| 一区二区三区在线影院| 精品国产乱码久久久久久牛牛 | 国产91精品一区二区| 五月婷婷欧美视频| 一区二区中文视频| 久久综合久久综合九色| 欧美精品亚洲二区| 91丝袜美腿高跟国产极品老师| 久久国产视频网| 亚洲欧美日韩一区| 久久精品视频在线看| 91 com成人网| 在线一区二区三区做爰视频网站| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲日本va午夜在线影院| 久久午夜国产精品| 日韩一级免费观看| 91麻豆精品国产91久久久久久| 成人性生交大片免费看中文网站| 青青草国产成人99久久| 亚洲国产视频一区二区| 亚洲嫩草精品久久| 综合久久给合久久狠狠狠97色| 久久久久久夜精品精品免费| 精品久久久久av影院 | 欧美精品一区二区三| 欧美一区二区私人影院日本| 欧美三级中文字| 在线影视一区二区三区| 色噜噜夜夜夜综合网| 成人毛片老司机大片| 国内精品不卡在线| 国产原创一区二区三区| 精品无人码麻豆乱码1区2区 | 日韩电影在线一区| 午夜精品国产更新| 亚洲第一福利一区| 视频一区中文字幕国产| 日韩av在线发布| 日本欧美加勒比视频| 日韩电影在线观看电影| 日韩精品成人一区二区在线| 日本不卡视频一二三区| 欧美a一区二区| 精品一区二区免费| 国产盗摄一区二区| 99久久婷婷国产| 色悠悠久久综合| 欧美在线视频不卡| 91精品国产综合久久蜜臀| 91精品国产综合久久精品| 欧美一区2区视频在线观看| 日韩精品中午字幕| 国产欧美综合在线| 亚洲黄色录像片| 日韩成人免费在线| 久久精品国内一区二区三区| 国产精品中文有码| 99re视频这里只有精品| 精品视频免费在线| 欧美电影免费观看完整版| 日本一区二区三区免费乱视频| 欧美国产精品中文字幕| 一区二区三区国产| 欧美bbbbb| av在线一区二区| 在线不卡中文字幕| 国产拍揄自揄精品视频麻豆| 一区二区三区资源| 久久99精品久久久久久| av中文字幕亚洲| 日韩一区二区三区视频| 中文字幕日韩精品一区| 午夜欧美2019年伦理| 国产成人综合亚洲91猫咪| 色av一区二区| 久久影视一区二区| 亚洲一区二区三区三| 国内久久婷婷综合| 在线免费一区三区| 久久九九99视频| 亚洲国产精品自拍| 成人免费看的视频| 欧美一区二区三区人| 亚洲天堂2014| 国产精品原创巨作av| 欧美男人的天堂一二区| 国产精品乱码久久久久久| 青青草原综合久久大伊人精品优势| 成人免费观看视频| 精品免费一区二区三区| 亚洲第一福利一区| av成人动漫在线观看| 久久蜜桃一区二区| 天天操天天色综合| 色8久久精品久久久久久蜜| 久久久久99精品国产片| 蜜臀精品一区二区三区在线观看| 99久久精品免费观看| 久久久精品国产免费观看同学| 五月天婷婷综合| 91麻豆国产自产在线观看| 国产亚洲欧美在线| 狠狠色丁香久久婷婷综合丁香| 欧美日韩一卡二卡三卡| 一区二区三区四区在线| thepron国产精品| 中国av一区二区三区| 国产精品一区二区久激情瑜伽| 欧美电影影音先锋| 午夜电影网亚洲视频| 欧美性生活久久| 亚洲伦理在线精品| 一本大道综合伊人精品热热| 中文在线免费一区三区高中清不卡| 国产一区二区影院| 精品国产91洋老外米糕| 久久精品av麻豆的观看方式| 欧美丰满一区二区免费视频 | 亚洲激情男女视频| 色一情一伦一子一伦一区| 亚洲乱码一区二区三区在线观看| 99视频超级精品| 亚洲人成精品久久久久| 91官网在线观看|