查看: 547|回复: 1

求助帖关于GPS时间转换成北京时间的

[复制链接]
  • TA的每日心情
    难过
    2018-12-16 09:25
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2018-12-16 09:24 | 显示全部楼层 |阅读模式
    求助社区里的各位大佬,怎么在下面的代码加个让GPS获取的时间在1602LCD屏幕上实时显示出来,我找了好多资源都用不了

    #include <TinyGPS.h>
    #include <LiquidCrystal.h>



    TinyGPS gps;
    LiquidCrystal lcd(12, 11, 2, 3, 4, 5);              //LCD driver pins
    int led = 13;

    long lat, lon;
    unsigned long fix_age, time, date, speed, course;
    unsigned long chars;
    unsigned short sentences, failed_checksum;
    //int year;
    //byte month, day, hour, minute, second, hundredths;

    int DEG;
    int MIN1;
    int MIN2;

    void LAT(){                       //Latitude state
      DEG=lat/1000000;
      MIN1=(lat/10000)%100;
      MIN2=lat%10000;

      lcd.setCursor(0,0);             // set the LCD cursor   position
      lcd.print("LAT:");              
      lcd.print(DEG);
      lcd.write(0xDF);
      lcd.print(MIN1);
      lcd.print(".");
      lcd.print(MIN2);
      lcd.print("'   ");
    }
    void LON(){                        //Longitude state
      DEG=lon/1000000;
      MIN1=(lon/10000)%100;
      MIN2=lon%10000;

      lcd.setCursor(0,1);              // set the LCD cursor   position
      lcd.print("LON:");              
      lcd.print(DEG);
      lcd.write(0xDF);
      lcd.print(MIN1);
      lcd.print(".");
      lcd.print(MIN2);
      lcd.print("'   ");
    }

    void setup()
    {
      Serial.begin(9600);            //Set the GPS baud rate.

      pinMode(led, OUTPUT);  

      lcd.begin(16, 2);               // start the library
      lcd.setCursor(0,0);             // set the LCD cursor   position
      lcd.print("GPS test");          // print a simple message on the LCD
      delay(2000);
    }

    void loop()
    {







      while (Serial.available())
      {
        digitalWrite(led, HIGH);
        int c = Serial.read();                   // Read the GPS data
        if (gps.encode(c))                        // Check the GPS data
        {
          // process new gps info here
        }

      }
      digitalWrite(led, LOW);
      gps.get_position(&lat, &lon, &fix_age);     // retrieves +/- lat/long in 100000ths of a degree
      gps.get_datetime(&date, &time, &fix_age);   // time in hhmmsscc, date in ddmmyy

      //gps.crack_datetime(&year, &month, &day,    //Date/time cracking
      //&hour, &minute, &second, &hundredths, &fix_age);  

    LAT();
    LON();

    }

  • TA的每日心情

    2019-3-4 23:30
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    发表于 2019-2-10 19:28 | 显示全部楼层
    $GPRMC,095609.00,A,3057.64xxx,N,12126.69xxx,E,GPRMC后面的一串数字是UTC时间,+8个小时就是北京时间了
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    今晚闲来无事搞了下STM32 Ardunio 的SPI2 SD卡的通讯
    今晚闲来无事搞了下STM32
    看到Ardunio很火,就想用STM32F103RBT6的板子试一下。之前移植网上带系统的,竟然说超
    arduino之串口通讯
    arduino之串口通讯
    总操流程: 1、写入程序 2、测试[hr][/backcolor] 写程序[/backcolor] [*]void s
    四位数码管动态显示
    四位数码管动态显示
    代码如下;从9990到9999,然后再从9898开始 代码撸起; const unsigned char dofly_Du
    求助!GM65二维码扫描模块怎么用?
    求助!GM65二维码扫描模块
    求助!GM65二维码扫描模块怎么用? 卖家给的资料真的看不懂该怎么弄。。( ̄▽ ̄)~*
    Arduino Pro Micro 打造USB音频转 3.5mm音频转接板
    Arduino Pro Micro 打造US
    3.5mm耳机接口是PC上最常见的音频接口,因为它工艺简单、价格低廉在涉及到声音输入输
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表