FL2440——基于SF2820模块编程实现GPS定位功能

上两篇博文整理学习了有关串口通信、串口编程以及GPS数据格式的一些基本知识。本篇我们要开始编程实现GPS自动定位数据解析。我们将在FL2440开发板上实现该功能。

由于SF2820模块获取到的GPS定位信息是通过串口发送到终端设备,我们在编程实现获取GPS定位信息中自然涉及到串口编程。

串口编程

前面博文已经介绍的很详细,代码也参考前面串口模块。只需要串口模块的头文件与源码。

串口设置其实就相当于串口通信的协议,我们通过程序设置下面的内容(这些值的设置见main函数)
波特率:是为了两者信号流能同步,
数据位:是指又几位数据封装成一帧
结束位:是指以帧传输数据时,协定好结束位,便于提取有效数据
奇偶校验:检验数据的一种手段

编程获取和解析GPS定位信息

头文件(gps.h)

/********************************************************************************
 *      Copyright:  (C) 2018 NULL
 *                  All rights reserved.
 *
 *       Filename:  gps.h
 *    Description:  This head file 
 *
 *        Version:  1.0.0(2018年07月31日)
 *         Author:  DingHuanhuan <736787419@qq.com>
 *      ChangeLog:  1, Release initial version on "2018年07月31日 14时13分55秒"
 *                 
 ********************************************************************************/

#ifndef _GPS_H
#define _GPS_H

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>



typedef struct _GP_RMC
{
  unsigned int    Time;  /*UTC Time  :hhmmss */
  char            Pos_status;           //定位状态
  float           latitude;             //纬度
  char            lati_hemisphere;      //纬度半球 
  float           longitude;            //经度
  char            longi_hemisphere;     //经度半球
  float           speed;                //移动速度
  float           direction;            //方向
  unsigned int    data;                 //日期
  float           Magnetic_declination; //磁偏角
  char            M_dd;                 //磁偏角方向
  char            mode;                  //模式
}GPRMC; 


int Analyse_GPRMC(char *buff, GPRMC *gprmc_data);
int Print_GPRMC(GPRMC *gprmc_data);


#endif

gps数据分析gps.c
在gps.c文件中有两个函数Analyse_GPRMC 和 Print_GPRMC ,分别实现对gps返回的数据进行分析处理和打印到标准输出。

/*********************************************************************************
 *      Copyright:  (C) 2018 NULL
 *                  All rights reserved.
 *
 *       Filename:  gps.c
 *    Description:  This file 
 *                 
 *        Version:  1.0.0(2018年07月31日)
 *         Author:  DingHua
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值