Das Open-Control-Projekt - Die Alternative zur C-Control-I


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 

 Re: Daten speichern Kategorie: Programmierung Basic (von Stefan Süßmann - 14.01.2009 12:51)
 Als Antwort auf Daten speichern von Andy - 13.01.2009 22:04
Hallo,
ich lese GPS-Daten mit einer Unit 2.0 ein. Die 2.0 schafft es gerade, die Daten mit 9600 baud zu lesen. Das Verarbeiten der Daten erfolgt nach dem Einlesen des Datensatzes. Ich weiss nicht, wie schnell die Unit 1 ist. Wenn überhaupt, wird es sicher nur mit 4800 baud funktionieren.

Hier mal meine Basic+ Funktion dazu:

' 20.09.2005

' ------------------------------------- GetGPSData -----------------------------------------------------------
function GPS_Auswertung()
LEDgelb = on
#GPGGA
  'get zeichen
  'if zeichen <> 71 then goto GPGGA  ' G
  'get zeichen
  'if zeichen <> 80 then goto GPGGA  ' P
   get zeichen
    if zeichen <> 71 then goto GPGGA  ' G
   get zeichen
   if zeichen <> 71 then goto GPGGA  ' G
   get zeichen
   if zeichen <> 65 then goto GPGGA  ' A         GPGGA empfangen
LEDgelb = off
                      for i = 1 to 8         ' ,hhmmss, entfernen
                      get zeichen
                      next i        
   get bgggzehner        ' 8 x entfernen + bggg
   get bggg
   get bgminzehner     ' bgmin
   get bgmin  
                      get zeichen                ' entfernen
   get bgsek1000er            ' bgsek
   get bgsek100er
   get bgsekzehner
   get bgsekeiner
                      get zeichen    ' ",N,"entfernen
                      get zeichen
                      get zeichen
   get lggg100er
   get lgggzehner
   get lggg    
   get lgminzehner                 ' lgmin
   get lgmin
                      get zeichen               ' . entfernen
   get lgsek1000er                 ' lgsek
   get lgsek100er
   get lgsekzehner
   get lgsekeiner
   
   
   
   
                      for i = 1 to 14         ' Ersatz ohen Sat-Anzahl
                      get zeichen
                      next i
                     
  get isthoehe10000er
  get isthoehe1000er
  get isthoehe100er
  get isthoehezehner
                      get zeichen               ' . entfernen
  get isthoeheeiner
#GPVTG
   'get zeichen
   'if zeichen <> 71 then goto GPVTG  ' G
   'get zeichen
   'if zeichen <> 80 then goto GPVTG  ' P
   get zeichen
   if zeichen <> 86 then goto GPVTG  ' V
   get zeichen
   if zeichen <> 84 then goto GPVTG  ' T
   get zeichen
   if zeichen <> 71 then goto GPVTG  ' G     GPVTG empfangen
                     get zeichen       ' Komma entfernen
   get istkurs1000er
   get istkurs100er
   get istkurszehner
                     get zeichen       ' Punkt entfernen
   get istkurseiner
                     for i = 1 to 14   ' 14 Zeichen entfernen    
                     get zeichen
                     next i
   get speed100er
   get speedzehner  
   get speed  
 bggg     = (bggg-48) +(10*(bgggzehner-48))
 bgmin    = (bgmin-48)+(10*(bgminzehner-48))    
 bgsek    = (bgsekeiner-48)+(1000*(bgsek1000er-48))+(100*(bgsek100er-48))+(10*(bgsekzehner-48))
 lggg     = (lggg-48)+(100*(lggg100er-48))+(10*(lgggzehner-48))  
 lgmin    = (lgmin-48)+(10*(lgminzehner-48))    
 lgsek    = (lgsekeiner-48)+(1000*(lgsek1000er-48))+(100*(lgsek100er-48))+(10*(lgsekzehner-48))
 GPSHoehe = (isthoeheeiner-48)+(10000*(isthoehe10000er-48))+(1000*(isthoehe1000er-48))+(100*(isthoehe100er-48))+(10*(isthoehezehner-48))
 IstKurs = (istkurseiner-48)+(1000*(istkurs1000er-48))+(100*(istkurs100er-48))+(10*(istkurszehner-48))
 speed   = (speed-48)+(100*(speed100er-48))+(10*(speedzehner-48))
 'SatAnzahl = (10*(satzehner-48)+(satanzahl-48))
end function



mfg

Stefan

 Antwort schreiben

Bisherige Antworten:

Re: Daten speichern (von Andy - 14.01.2009 18:50)
    Re: Daten speichern (von Stefan Süßmann - 14.01.2009 19:49)
        Re: Daten speichern (von Andy - 14.01.2009 20:14)
            Re: Daten speichern (von Stefan Süßmann - 14.01.2009 22:31)