基于C语言的NMEA-0183解析程序(二)

本文详细介绍了如何使用C语言来解析NMEA-0183协议,包括用户定义数据类型和基本操作函数的应用,是嵌入式系统中处理GPS数据的重要步骤。
摘要由CSDN通过智能技术生成

用户定义数据类型

#ifndef _TYPE_H_
#define _TYPE_H_

typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;

typedef int8_t s8;
typedef int16_t s16;
typedef int32_t s32;
typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;

typedef struct NMEA_MSG
{
    struct UTC/*utc时间日期*/
    {
        int year;
        int month;
        int date;
        int hour;
        int mint;
        int sec;
    }utc;
    float speed;/*地面速率*/
    float latitude;/*纬度*/
    float longitude;/*经度*/
    float altitude;/*海拔高度*/
    float pdop;/*综合位置精度因子*/
    float hdop;/*水平精度因子*/
    float vdop;/*垂直精度因子*/
    char nshemi;/*南北纬*/
    char ewhemi;/*东西经*/
    char avhemi;/*定位状态//A有效定位、V无效定位*/
	char pattern;/*定位模式指示//A自主定位、D差分、E估算、N数据无效*/
    char mode;/*模式//M手动、A自动*/
	int mntude;/*磁北航向角度*/
	int entude;/*地北航向角度*/
    int svnum;/*可见卫星数//至多12颗*/
    int gpssta;/*GPS状态//0未定位、1非差分定位、2差分定位*/
    int posslnum;/*定位卫星数目*/   
    int fixmode;/*定位类型//1未定位、2D定位、3D定位*/
    int possl[32];/*定位卫星编号*/
    struct SLMSG/*定位卫星信息//卫星编号、卫星仰角、卫星方位角、信号强度*/
    {
        int num;
        int eledeg;
        int azideg;
        int sn;
    }slmsg[32];
}Nmea_msg;

#endif // _TYPE_H_

 用户定义的基本操作函数

#ifndef _OPERATION_H_
#define _OPERATION_H_

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>

#include"Type.h"
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值