Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: GPS-Modul auslesen (NMEA-Parser) Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 14.06.2020 18:51)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station


' ===========================================================================
' Für "AZDelivery NEO-6M GPS-Modul": Einfacher NMEA-Parser
' In OCBASIC 1.11a für Open-Maxi von Dietmar Harlos am 12. Juni 2020
' ===========================================================================

' Das "AZDelivery NEO-6M GPS-Modul" kann bei Amazon für zur Zeit 8,49 EUR und
' kostenlosem Versand bestellt werden:

' https://www.amazon.de/dp/B01N38EMBF

' Das GPS-Modul wird mit 5 Volt Betriebsspannung betrieben und TXD des Moduls
' muß mit RXD2 der Open-Maxi verbunden werden. RXD2 liegt an PORT[34]. Das
' Modul zieht circa 80 mA Strom.

' Das NMEA-Protokoll sieht folgendermaßen aus:

' $GPRMC,011142.00,A,5208.63591,N,00830.04090,E,3.392,285.71,130620,,,A*6C

' Die Uhrzeit wird in Weltzeit (UTC) angegeben. MESZ ist UTC plus 2 Stunden.

' An dieser Stelle möchte ich mich bei Norbert Klein und bei Dirk vom L-Team
' für ihre Unterstützung bedanken.

' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"

DIM a,b,c BYTE
DIM w WORD

DIM uhrzeitstunde BYTE
DIM uhrzeitminute BYTE
DIM uhrzeitsekunde BYTE
DIM datumtag BYTE
DIM datummonat BYTE
DIM datumjahr BYTE

' --- Hauptprogramm ---------------------------------------------------------

initSCI1                   'Zweite Serielle Schnittstelle initialisieren

b=1

WHILE TRUE

  PRINT "Warte auf $GPRMC"
  REPEAT
    w=-1
    REPEAT
      c=GETsci1
      IF b THEN PUT c
      ADD w,1
    UNTIL c<>LOOKTABBYTE(str_GPRMC,w)
  UNTIL w=6

  c=GETsci1
  IF c=ASC(",") THEN 'unvollständige Daten
    PRINT "Abbruch 1"
    GOTO abbruch
  END IF
  uhrzeitstunde=(c-48)*10+(GETsci1-48)
  uhrzeitminute=(GETsci1-48)*10+(GETsci1-48)
  uhrzeitsekunde=(GETsci1-48)*10+(GETsci1-48)

  FOR a=1 TO 8   '8 durch Kommata terminierte Bereiche überspringen
    REPEAT
    UNTIL GETsci1=ASC(",")
  NEXT a

  c=GETsci1
  IF c=ASC(",") THEN 'unvollständige Daten
    PRINT "Abbruch 2"
    GOTO abbruch
  END IF
  datumtag=(c-48)*10+(GETsci1-48)
  datummonat=(GETsci1-48)*10+(GETsci1-48)
  datumjahr=(GETsci1-48)*10+(GETsci1-48)

  PRINT
  PRINT "Das GPS-Modul lieferte:"
  PRINT uhrzeitstunde":"uhrzeitminute":"uhrzeitsekunde
  PRINT datumtag"."datummonat"."datumjahr
  b=0

#abbruch
WEND

End2Host=ON
END

' --- Tabellen --------------------------------------------------------------

TABLE str_GPRMC BYTE
  "$GPRMC",0
END TABLE

' --- INCLUDE-Dateien -------------------------------------------------------

INCLUDE "OMAXSCI1.PRO" 'aus "Zweite Serielle Schnittstelle auf der Open-Maxi"
INCLUDE "OM_FW.PRO"    'Firmware-Routinen

' --- Programmende ---------------------------------------------------------


Passender Link: Infosite zu den OM-Mikrocontrollern

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Zeitlupe: Vergleich Sekundentakt GPS mit DCF77 (von das |_ Team - 4.08.2020 15:12)
Zeitlupe: GPS-Module im Gleichtakt (von das |_ Team - 21.07.2020 5:20)
    Vielen Dank! (von Dietmar - 22.07.2020 0:15)
Re: Demoprogramm: GPS-Modul auslesen (NMEA-Parser) (von Joachim - 20.07.2020 6:48)
    Re: Demoprogramm: GPS-Modul auslesen (NMEA-Parser) (von Dietmar - 20.07.2020 7:01)
        Es funzt! (von Joachim - 20.07.2020 7:26)
Vorteile des GPS-Moduls (von Norbert - 16.06.2020 0:18)