“显示GPS数据”的版本间的差异

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

2017年7月27日 (四) 07:56的版本

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_Reference]