I HAVE GPS Low-power, 12 channel GPS Module AND I NEED COMMAND TO READ ZDA Message
AND I NEED TO SAVE THE INFO FROM GGA Message
MY PROGRASM DOSNT WORK
char cmd;
unsigned char GGA[7]={"GPGGA,"};
unsigned char GPS_info[39];
unsigned char UTC[8]={0,0,':',0,0,':',0,0};
unsigned char GPS_Lat[12];
unsigned char GPS_Lon[13];
void Read_GPS()
{
boolean Gflag=true;
while(Serial1.read()!='
);
for(int i=0;i<6;i++)
{
if(Serial1.read()!=GGA[i])
Gflag=false;
}
if(Gflag==true)
{
for(int i=0;i<39;i++)
GPS_info[i]=Serial1.read();
}
}
void GPS_translate()
{
int x=0;
for(int i=0;i<8;i++)
{
if(UTC[i]!=':')
{
UTC[i]=GPS_info[x];
x++;
}
x+=4;
GPS_Lat[0]=GPS_info[x];
x++;
GPS_Lat[1]=GPS_info[x];
x++;
GPS_Lat[2]='';
for(int i=3;i<12;i++)
{
GPS_Lat[i]=GPS_info[x];
x++;
}
x++;
for(i=0;i<3;i++)
{
GPS_Lon[i]=GPS_info[x];
x++;
}
GPS_Lon[3]='';
x++;
for(int i=4;i<12;i++)
{
GPS_Lat[i]=GPS_info[x];
x++;
}
}
}
void setup()
{
Serial.begin(9600);
Serial1.begin(4800);
}
void loop()
{
Serial.print("'m'-mesure , 's'-show,'a'-Lat,'o'-Lon,'u'-UTC");
Serial.print("\n");
while(Serial.available()==0);
cmd=Serial.read();
if(cmd=='m')
Read_GPS();
if(cmd=='s')
for(int i=0;i<39;i++)
Serial.write(GPS_info[i]);
if(cmd=='a')
for(int i=0;i<12;i++)
Serial.write(GPS_Lat[i]);
if(cmd=='o')
for(int i=0;i<13;i++)
Serial.write(GPS_Lon[i]);
if(cmd=='u')
for(int i=0;i<8;i++)
Serial.write(UTC[i]);
Serial.print("\n");
}