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
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
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.
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