极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11387|回复: 1

GPS时间

[复制链接]
发表于 2014-5-9 21:36:15 | 显示全部楼层 |阅读模式
我丛书中抄了一段代码在Uno中可以运行,但是会慢10多秒。在mega上可以很准确,但是开机自检不了,要拔掉GPS的TXD一会才可以运行。麻烦老鸟帮我看看。
#include <TinyGPS.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);//定义LCD引脚定义
TinyGPS gps;
void getgps(TinyGPS &gps);

void setup()
{
  Serial.begin(4800);//GPS通信波特率
  lcd.begin(16,2);//LCD定义
}

void getgps(TinyGPS &gps)//抓取GPS数据
{
  int year,a,t;
  byte month,day,hour,minute,second,hundredths;
  gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
  hour=hour+8;//时区校正
  if(hour>23)
  {
    hour=hour-24;
  }
  lcd.setCursor(0,0);//显示日期和时间
  lcd.print("GPS Time:");
  lcd.setCursor(4,1);
  if (hour<10)
  {
    lcd.print("0");
  }
  lcd.print(hour,DEC);
  lcd.print(":");
  if(minute<10)
  {
    lcd.print("0");
  }
  lcd.print(minute,DEC);
  lcd.print(":");
  if(second<10)
  {
    lcd.print("0");
  }
  lcd.print(second,DEC);
}

void loop()
{
  byte a;
  if(Serial.available()>0)//如果串口有数据
  {
    a = Serial.read();//获得一个字节的数据
    if(gps.encode(a))//如果有效数据
    {
      getgps(gps);//抓取数据并显示在LCD
    }
  }
}
回复

使用道具 举报

发表于 2014-5-9 23:16:45 | 显示全部楼层
完全不懂,可以参考其他的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-13 21:31 , Processed in 0.034049 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表