gps.c

来自「从GPS输出数据中分离出经纬度」· C语言 代码 · 共 62 行

C
62
字号
//*----------------------------------------------------------------------------
//* 函数名称	:    ParseGPSInfo
//* 功能描述	:    分离出GPRMC数据包中各项信息
//* 入口参数	:    <lpszBuf>[in]待分离的GPRMC数据包 
//*				:     
//* 出口参数	: 无 
//*----------------------------------------------------------------------------
void ParseGPSInfo(char *lpszinBuf)
{
    int    i = 0;
    int    j = 0;
    int    SectionID = 0;
    char   Available;
    char   LatHemisphere;
    char   LongHemisphere;             
    char   Time[12];
    char   Lat[12];
    char   llong[12];
    char   Speed[12];
    
    
    for(i=0;( (i<strlen(lpszinBuf))&&(*(lpszinBuf+i)!=0x0A) );i++)
    {
        if(*(lpszinBuf+i)==',')
        {
            SectionID++;
            j = 0;
        }
        else
        {
            switch(SectionID)
            {
                case 1:   //时间
                          Time[j++] = *(lpszinBuf+i);
                          break;
                case 2:   //是否有效
                          Available = *(lpszinBuf+i);
                          break;
                case 3:   //纬度
                          Lat[j++] = *(lpszinBuf+i);
                          break;
                case 4:   //南北半球
                          LatHemisphere = *(lpszinBuf+i);
                          break;
                case 5:   //经度
                          llong[j++] = *(lpszinBuf+i);
                          break;
                case 6:   //东西半球
                          LongHemisphere = *(lpszinBuf+i);
                          break;
                case 7:   //速度
                          Speed[j++] = *(lpszinBuf+i);
                          break;
                case 9:   //日期
                          Date[j++] = *(lpszinBuf+i);
                          break;
                default:  break;
            }
        }
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?