显示GPS数据

来自Microduino Wikipedia
Machine1987讨论 | 贡献2017年7月27日 (四) 09:15的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Module_GPS库-显示GPS数据示例


在下面的示例中,使用Core+核心通过硬串口引脚(2,3)与Module_GPS通信。

所需硬件


电路搭建

将Battery、Core+、MCookie_GPS堆叠在一起,通过MicroUSB数据线接入电脑。

代码

#include <Microduino_GPS.h>
Microduino_GPS GPS(&Serial1);

void setup()
{
  Serial.begin(115200);
  GPS.begin(38400);  //9600/19200/38400/57600/115200
}
void loop() 
{
  if (GPS.available() == GPS_DATA_READY) {  //卫星定位成功
    timePrint();//串口打印卫星时间
    gpsPrint();//串口打印定位数据
  }
  else if (GPS.available() == GPS_TIME_READY) {  //卫星连接成功(连接数量还不够定位要求)
    timePrint();//串口打印卫星时间
  }
}
void timePrint() {
  Serial.print("Time: ");
  Serial.print(GPS.hour, DEC);//小时
  Serial.print(':');
  Serial.print(GPS.minute, DEC);//分钟
  Serial.print(':');
  Serial.println(GPS.seconds, DEC);//秒钟
  Serial.print("Date: ");
  Serial.print(GPS.day, DEC);//日期
  Serial.print('/');
  Serial.print(GPS.month, DEC);//月份
  Serial.print("/20");
  Serial.println(GPS.year, DEC);//年份
}
void gpsPrint() {
  Serial.print("Location: ");
  Serial.print(GPS.latitude, 4);//维度值
  Serial.print(GPS.lat);//维度方向
  Serial.print(", ");
  Serial.print(GPS.longitude, 4);//经度值
  Serial.println(GPS.lon);//经度方向
  Serial.print("Speed (knots): ");
  Serial.println(GPS.speed);//速度值
  Serial.print("Angle: ");
  Serial.println(GPS.angle);//速度方向
  Serial.print("Altitude: ");
  Serial.println(GPS.altitude);//海拔高度
  Serial.print("Satellites: ");
  Serial.println((int)GPS.satellites);//卫星数量
}


[返回GPS库语法手册]