NMEA einlesen Kategorie: Programmierung (von Mark Simon - 11.10.2010 11:51) | ||
| ||
Hallo, im Rahmen eines Projektes in meinen Master-Studiengang soll ich GPS-Daten in die C-Controll 2 einlesen und weiterverarbeiten. Der GPS-Empfänger sendet die Daten im NMEA- Format über die RS232- Schnittstelle. Der Empfänger sendet mehrere Datensätze von dem ich aber lediglich die Daten vom $GPRMC brauche. Wie kann nur den Datensatz rausfiltern? Ich kann zwar mit hwcom.get() und einer folgenden if Anweisung der C-Control sagen das er mit einem bestimmten Zeichen beginnen soll, aber diese Zeichen befinden sich ja auch in den anderen Datensetzen. Ich hatte mir im ersten Test das $ Zeichen ausgeguckt, damit er auch am Anfang eines Datensatzes beginnt. Zudem möchte ich gerne danach die Daten Spliten in Variablen schreiben und weiterverarbeiten. Für den Anfang habe ich versucht ein Programm zu schreiben, welches die ankommenden Daten durch die eine Schnittstelle einliest und mir durch die andere Schnittstelle ans Hyper Terminal sendet. Leider bis jetzt nur mit mä�igen Erfolg. Es kommen zwar Daten an, aber völlig durcheinander. �ber ihre Hilfe würde ich mich sehr freuen. Beispiel: thread main { swcom.init (); swcom.setspeed (swcom.SPEED_4800); hwcom.init (); hwcom.setspeed (hwcom.SPEED_4800); string f ; byte Daten; string h; loop { wait swcom.rxd(); Daten=swcom.get(); if Daten== '$'{ swcom.receive(f,256,500); strx.split(h,f,','); hwcom.send(h,str.length(h)); } }} Gru� Mark Simon | ||
Antwort schreiben Antworten: Re: NMEA einlesen (von André H. - 11.10.2010 12:21) |