Servus,
ich habe einen Royaltek serielle GPS-Maus und eine LCD-Display an einem ATmega8. Die GPS Maus sendet ca. jede Sekunde schön brav die GPS Daten die ich haben will. Es kommen nacheinander wie $GPGGA,14.., $GPGSV,2,1.., $GPGSV,2,.., $GPRMC,14.., $GPVTG,2,.. etc.
Wenn ich jetzt folgendes Programm starte bekomme auf den LCD viel mehr GPRMC als GPGGA, d.h. in ca. 10 Sekunden 1x ein GPGGA Datensatz und ca. 180 GPRMC Datensätze von dem Programm ausgewertet obwohl die Maus nur 1-2 Mal pro Sekunde die Daten sendet
Lasse ich die Do until Schleife nur durch GPGGA unterbrechen läuft alles wie es soll. D.h. irgendwie funktioniert das ganze nicht mehr wenn auch auf GPRMC reagiert werden soll.Code:$regfile = "m8def.dat" $crystal = 8000000 $baud = 4800 Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 Config Lcd = 40 * 4 Initlcd Cursor Off Cls Dim A As Byte Dim GpsDaten As String * 75 Dim Gga As Integer Dim Rmc As Integer Gga = 0 Rmc = 0 Do Do A = Inkey() If A = 36 Then Input GpsDaten Typ = Mid(GpsDaten , 1 , 5) Loop Until Typ = "GPGGA" OR Typ = "GPRMC" 'Hier würden jetzt die einzelnen Info`s aus dem GPSDatensatz gesplittet Locate 1, 1 Lcd Mid(GpsDaten, 1, 40) If Typ = "GPGGA" then Gga = Gga +1 Locate 2, 1 Lcd "GGA = " ; Gga End if If Typ = "GPRMC" then Rmc = Rmc +1 Locate 3, 1 Lcd "GGA = " ; Gga End if Typ = "" Loop End
Ich bin langsam am verzweifeln und ich glaub ich sehe den Wald vor lauter Bäumen nicht mehr.
Bin für jeden Tip dankbar
Gruss
Alex aka Ciclo







Zitieren

Lesezeichen