测试板子使用ARDUINO MEGA2560

#include <TimerOne.h>

#define GPSSerial Serial1
#define DebugSerial Serial const unsigned int bufferLength = 600;
char RxBuffer[bufferLength];
unsigned int ii = 0; char EER_GPS_Buffer[24] = {"$GPRMC,,V,,,,,,,,,,N*7F"}; struct
{
unsigned char CMD;
unsigned int LengthA;
char fixed[20];
unsigned char id_length;
char id[20];
unsigned char LengthB1;
unsigned char LengthB2;
char api_key[50];
} login; struct
{
unsigned char CMD;
unsigned char LengthA;
unsigned char mark;
unsigned char type;
unsigned char LengthB1;
unsigned char LengthB2;
char streamA[24];
char id[20];
char streamB[27];
char GPS_Buffer[150];
char streamC[7];
} Save_Data; void setup(){
GPSSerial.begin(9600);
DebugSerial.begin(9600); Timer1.initialize(1000);
Timer1.attachInterrupt(Timer1_handler); DebugSerial.println("setup end!");
} void loop(){
DebugSerial.println("loop start!");
getGPSData();
DebugSerial.println("loop end!");
} unsigned long Time_Cont = 0;
void Timer1_handler(void)
{
Time_Cont++;
} void getGPSData(){
char *GPS_BufferHead, *GPS_BufferTail; clrRxBuffer(); Time_Cont = 0;
while (Time_Cont < 2000)
{
readBuffer(); if ((GPS_BufferHead = strstr(RxBuffer, "$GPRMC,")) != NULL)
{
if ((GPS_BufferTail = strstr(GPS_BufferHead, "\r\n")) != NULL)
{
if(GPS_BufferTail > GPS_BufferHead)
{
memcpy(Save_Data.GPS_Buffer, GPS_BufferHead, GPS_BufferTail - GPS_BufferHead); DebugSerial.println("-----1------");
DebugSerial.println(Save_Data.GPS_Buffer);
break;
clrRxBuffer();
}
} }
}
if(Time_Cont >= 2000)
{
memcpy(Save_Data.GPS_Buffer, EER_GPS_Buffer, 24); //输出错误信息
}
DebugSerial.println("-----2------");
DebugSerial.println(Save_Data.GPS_Buffer); memset(Save_Data.GPS_Buffer, 0, sizeof Save_Data.GPS_Buffer); //使用后清空数据
DebugSerial.println("-----3------");
DebugSerial.println(Save_Data.GPS_Buffer);
clrRxBuffer();
} void readBuffer(){
while (GPSSerial.available())
{
RxBuffer[ii++] = GPSSerial.read();
if (ii == bufferLength)clrRxBuffer();
}
} void clrRxBuffer(void)
{
memset(RxBuffer, 0, bufferLength); //清空
ii = 0;
}

ARDUINO解析GPS数据,读取出来GPRMC帧数据的更多相关文章

  1. 从文件中读取yuv和h264数据

    1.从文件中读取h264数据 参考ffmpeg avc.c写的从文件中一帧帧读取h.264数据的demo #include <stdio.h> #include <stdlib.h& ...

  2. 如何在ADO中使用数据读取器(DataReader)读取数据

    DbDataReader类型(实现IDataReader接口)是从数据源获取信息最简单也最快速的方法. 数据读取器是只读向前的效据流.井且一次返回一条记录.因此.只有当你向数据源提交 Select 查 ...

  3. 【转载】PyTorch系列 (二):pytorch数据读取

    原文:https://likewind.top/2019/02/01/Pytorch-dataprocess/ Pytorch系列: PyTorch系列(一) - PyTorch使用总览 PyTorc ...

  4. tensorflow 1.0 学习:十图详解tensorflow数据读取机制

    本文转自:https://zhuanlan.zhihu.com/p/27238630 在学习tensorflow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找 ...

  5. TensorFlow数据读取

    TensorFlow高效读取数据的方法 TF Boys (TensorFlow Boys ) 养成记(二): TensorFlow 数据读取 Tensorflow从文件读取数据 极客学院-数据读取 十 ...

  6. tensorflow之数据读取探究(1)

    Tensorflow中之前主要用的数据读取方式主要有: 建立placeholder,然后使用feed_dict将数据feed进placeholder进行使用.使用这种方法十分灵活,可以一下子将所有数据 ...

  7. 十图详解tensorflow数据读取机制

    在学习tensorflow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下 ...

  8. 十图详解TensorFlow数据读取机制(附代码)

    在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下 ...

  9. TensorFlow的数据读取机制

    一.tensorflow读取机制图解 首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取的过程可以用下图来表示 假设我们的硬盘中有一个图片数据集0001.jpg,0002.jpg,0003 ...

随机推荐

  1. 谈谈PHP网站的防SQL注入

    SQL(Structured Query Language)即结构化查询语言.SQL 注入,就是把 SQL 命令插入到 Web 表单的输入域或页面请求参数的查询字符串中,在 Web表单向 Web 服务 ...

  2. mongodb在Windows安装配置及遇到的问题、java连接测试

    一.安装 1.访问mongodb的官网http://www.mongodb.org/downloads下载64bit的包,我下载的是mongodb-win32-x86_64-2008plus-ssl- ...

  3. 将NSArray反向排序

    NSArray * array = [NSArray arrayWithObjects:", nil]; NSArray * reverseArray = [[array reverseOb ...

  4. mvc Ajax 跨域请求

    js端: $.ajax({ type : "get", async : false, url :url, data: 'bid=0&xingming=' + uName + ...

  5. Redis 的学习和使用

    安装Redis 官方网站:http://redis.io/ 官方下载:http://redis.io/download 可以根据需要下载不同版本 windows版:https://github.com ...

  6. 智能提示(一) Solr (suggest)

    电商搜索中要实现这么一块功能,当输入文字时候.下拉框提示.类似于百度搜索 在师出名门的基于lucene的solr搜索引擎中.提供了 拼写检查和智能提示这块功能.   拼写检查就是用来检查用户输入的检索 ...

  7. memcache原理和实际应用

    Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的.眼下全世界不少人使用这个缓存项目来构建自己大负载的站点,来分担数据库的压力. 它能够应 ...

  8. executable null\bin\winutils.exe in the Hadoop binaries.

    在windows 使用eclipse远程调用hadoop集群时抛出下面异常 executable null\bin\winutils.exe in the Hadoop binaries. 这个问题 ...

  9. 用Python抓取漫画并制作mobi格式电子书

    想看某一部漫画,但是用手机看感觉屏幕太小,用电脑看吧有太不方面.正好有一部Kindle,决定写一个爬虫把漫画爬取下来,然后制作成 mobi 格式的电子书放到kindle里面看. 一.编写爬虫程序 用C ...

  10. 关于工作与生活——HP大中华区总裁孙振耀撰文谈退休并畅谈人生

    转自:http://blog.csdn.net/adaptiver/article/details/7494121 我有个有趣的观察,外企公司多的是25-35岁的白领, 40岁以上的员工很少,二三十岁 ...