Ja ,ich will es per Hand machen. Ich habe es jetzt aber schon hinbekommen.
Ich habe mich jetzt mal mit dem Auslesen des Moduls beschäftigt ,doch irgenwie funktioniert das nicht ,da ich nur den Wert vom ersten Mid bekomme ... ????
Ich verwende Bascom.
Auf dem Simulator bekomme ich nur : A=100.258,N,487.456,WCode:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Dim A As String * 20 'Das bekomme ich vom Gps Modul Dim B As String * 10 'Das sollen die Werte sein ,die haben möchte Dim C As String * 10 Dim D As String * 10 Dim E As String * 10 Dim F As String * 10 Dim K As Byte 'Wo soll er anfangen zu Suchen Dim L As Byte 'Wie viel soll er rausschreiben A = "100.258,N,487.456,W" Print "A= " ; A 'Ich lasse mir den Wert den ich vom gps bekomme anzeigen K = 1 L = 7 B = Mid(a , K , L) Print "B= " ; B 'Soll mir den ersten Wert bis zum Komma vor N sagen K = 9 L = 1 B = Mid(a , K , L) Print "C= " ; C 'Soll mir N ausgeben K = 11 L = 7 B = Mid(a , K , L) Print D 'Soll mir den zweiten Wert nennen K = 19 L = 1 B = Mid(a , K , L) Print F 'Soll mir W ausgeben End
B=100.258
C=
Warum bekomme ich das nicht vollständig angezeigt ??? Wie kann man das sonst machen ??
Hmm, die meisten GPS-Empfänger geben etwas anderes aus, als was jetzt in Variable A steht.
Und wenn die restlichen Variablen etwas enthalten sollen, muss ihnen zuerst etwas zugewiesen werden, das dürfte noch ein steiniger Weg bis zur ersten autonomen Fahrt werden.
Das war ja auch nur ein Test. Die Koordinaten habe ich mir ausgedacht und das Protokoll ist natürlich auch falsch...Hmm, die meisten GPS-Empfänger geben etwas anderes aus, als was jetzt in Variable A steht.
Meinst du C, D, F ???Hmm, die meisten GPS-Empfänger geben etwas anderes aus, als was jetzt in Variable A steht.
Hab ich doch ,oder nicht ????muss ihnen zuerst etwas zugewiesen werden
Also ich möchte aus dem Anfangswert ,den ich von dem Modul bekomme (String A) , mehrere Teilstrings (Strings B-F) mit den jeweiligen Informationen z.B. über Breitengrad oder so bekommen. Doch ich bekomme nur die erste Teilinformation ..... Warum ??? und wie mache ich es jetzt richtig ????
Da hast du wohl Recht . Aber das kann ja ruhig ein wenig dauern.das dürfte noch ein steiniger Weg bis zur ersten autonomen Fahrt werden.Ist ja mein Hobby.
Hi,
ich habe vor einigen Tagen fast dasselbe gemacht, nämlich ein GPS Modul ausgelesen und es zur autonomen Navigation benutzt. Es ist einfacher als man denkt
Den String habe ich so zerlegt:
Jetzt steht in der Variable Stringscnt die Anzahl der zerlegten Teilstrings und in dem Array Teilstrings finden sich die einzelnen Elemente, getrennt durch die Kommas.Code:Dim Stringinput As String * 100 'ein GPGGA Datensatz kann fast 100 Zeichen haben, der Rest ist Reserve Dim Teilstrings(15) As String * 15 'einzelne / zerlegte Strings Dim Stringscnt As Byte ... Stringinput = "$GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45" 'als Beispiel ... Stringscnt = Split(Stringinput, Teilstrings(1), ",")
Gruß
Chris
An Che Guevara : Danke ,das hat mir sehr geholfen. (Auch wenn ich nicht so ganz verstanden habe ,wie es funktioniert. Unter anderem wegen dem Array und der Klammer) . Jetzt kann ich nämlich z.B. mit Print Teilstrings(3) den dritten String ausgeben lassen .
Also nochmal vielen Dank
Zu MagicWSmoke :Ja ,das hattest du zwar schon geschrieben , doch ich hab nicht verstanden , was du damit meintest....Weniger Fragezeichen verwenden und die Beträge anderer aufmerksam lesen, auch das hab' ich bereits beantwortet.
Lesezeichen