Code:
Process ReadGPS(20,20:iData);
Begin
WaitPipe(RXBuffer); // Warte auf Daten im Puffer
Read(SerInp, Temp); // Puffer lesen
If Temp='$' // Wenn Puffer='$' (Datensatzanfang)
then
Read(SerInp, Temp6);
If Temp6 = 'GPRMC,'
then
Read(SerInp, NMEA.Time_UTC, ',');
Read(SerInp, NMEA.Status, ',');
Read(SerInp, NMEA.Latitude, ',');
Read(SerInp, NMEA.Lat_Ind, ',');
Read(SerInp, NMEA.Longitude, ',');
Read(SerInp, NMEA.Log_Ind, ',');
Read(SerInp, NMEA.Speed, ',');
Read(SerInp, NMEA.Angle, ',');
Read(SerInp, NMEA.Date, ',');
Read(SerInp, NMEA.Magnetic, ',');
Read(SerInp, NMEA.Checksum, ',');
EndIf;
If Temp6 = 'GPGGA,'
then
Read(SerInp, NMEA.Time_UTC, ',');
Read(SerInp, NMEA.Latitude, ',');
Read(SerInp, NMEA.Lat_Ind, ',');
Read(SerInp, NMEA.Longitude, ',');
Read(SerInp, NMEA.Log_Ind, ',');
Read(SerInp, NMEA.StatusDummy, ',');
Read(SerInp, NMEA.Sat_Track, ',');
Read(SerInp, NMEA.H_Dilution, ',');
Read(SerInp, NMEA.Height, ',');
Read(SerInp, NMEA.Height_Unit, ',');
Read(SerInp, NMEA.DGPS_Time, ',');
Read(SerInp, NMEA.DGPS_ID, ',');
Read(SerInp, NMEA.Checksum, ',');
EndIf;
End ReadGPS;
ich werte nur gprmc und gpgga aus. allerdings mit einem anderen compiler und als process
Lesezeichen