Hallo Profis, ich habe ein Gps modul zu meinem Pic 18f4550 dazugeschlossen über die rs232 schnittstelle. jetzt sendet mir mein Gps modul jede Sekunde einen ganzen Datenblock mit diesen Daten: $GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0,181102,0.4,E,A*19 $GPRMB,A,9.99,L,,Exit,4726.8323,N,00820.4822,E,29.212,107.2,,V,A*69 $GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45 $GPGSA,A,3,,,,15,17,18,23,,,,,,4.7,4.4,1.5*3F $GPGSV,2,1,08,02,59,282,00,03,42,287,00,06,16,094,00,15,80,090,48*79 $GPGLL,4735.5634,N,00739.3538,E,191410,A,A*4A $GPBOD,221.9,T,221.5,M,Exit,*6B $GPVTG,0.0,T,359.6,M,0.0,N,0.0,K*47 $PGRME,24.7,M,23.5,M,34.1,M*1D $PGRMZ,1012,f*36 $PGRMM,WGS 84*06 $HCHDG,170.4,,,0.4,E*03 $GPRTE,1,1,c,*37 ich brauche aber nur den Datenblock mit $GPGGA ! weis jemand wie ich den mit C heruasfiltern kann? Sodass ich jede Sekunde auf meinen Display nur diesen Datensatz sehe? lg Danke für eure Mühe
Grundsätzlich geht das so: Man wartet auf $GPGGA, und dann gibt man alles bis zum nächsten "$" aus. Dazu müsste man sich nach einem $ die nächsten 5 Zeichen anschauen und Prüfen, ob es sich um "GPGGA" handelt. Dann kann man alle Zeichen bis zum nächsten $ ausgeben. Gruß Oliver
Hi >ich brauche aber nur den Datenblock mit $GPGGA ! >weis jemand wie ich den mit C heruasfiltern kann? Versuche doch die anderen abzuschalten. Welchen Chipsatz hat dein Modul? MfG Spess
Oliver J. schrieb: > Man wartet auf $GPGGA, und dann gibt man alles bis zum nächsten "$" aus. Besser man wartet auf $GPGGA und liest dann alles bis zum Ende des Datensatzes, also bis <cr>. Wer weiß, wann der nächste Datensatz kommt ;-)
danke euch erstmal! ich habe dieses modul http://www.sparkfun.com/products/9159 >Versuche doch die anderen abzuschalten. wie soll das gehen? lg alex
Alex schrieb: >>Versuche doch die anderen abzuschalten. > > wie soll das gehen? Such mal nach "Query/Rate Control" im "SiRF NMEA Reference Manual" [1] [1] http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual-Rev2.1-Dec07.pdf
In dem du mit dem CONFIG Kommando im Abschnitt 4.2 des Manuals http://www.sparkfun.com/datasheets/GPS/NMEAGuideMN5010.pdf die NMEA MASK nur GGA GPS Fix Data Nachrichten (3.2 im Manual) als Ausgabe anforderst.
so jetzt habe ich das problem das ich die daten nicht in das modul bekomme!! weiß jemand wie ich mit einem terminal programm die daten versenden kann? lg
Wie bist du denn an die Daten in deinem ersten Beitrag gekommen? Wenn du nur ein Terminalprogramm suchst, die sind in dem Artikel RS232 aufgelistet. Wenn es an der Bedienung hapert: Ich würde das Terminalprogramm (bzw. die UART zwischen PIC und Modul) auf 4800 Baud (falls OPT1 und OPT2 auf LOW gejumpert) einstellen und folgendes CONFIG Kommando absetzen:
1 | $PUNV,CONFIG,00,00,0,1000,4800,01*cc<carriage return><line feed> |
<carriage return> = CONTROL-M ^M bzw. Hex. 0x0D <line feed> = CONTROL-J ^J bzw Hex. 0x0A Achtung: Auf eigene Gefahr, denn CONFIG Einstellungen merkt sich das Modul in seinem nichtflüchtigen Speicher! Die Werkseinstellungen werden nach einem Power OFF/ON NICHT wiederhergestellt! Vielleicht vorher mit einem harmlosen Kommando probieren z.B. GETCONFIG (Manual 4.1.3)
1 | $PUNV,GETCONFIG,13*43<carriage return><line feed> |
Und schauen ob eine Antwort in der Art zurück kommt:
1 | $PUNV,CFG_R,13,... |
Um sicher zu gehen noch der Hinweis: Du darfst das GPS Modul nie direkt d.h. ohne Pegelwandler (3.3VTTL <-> RS232) an die RS232 des PCs hängen!
Hallo, bin auch gerade dabei (habe mein GPS-Modul die Tage bekommen [u-blox LEA-5S]) und auch durch Zufall darauf gekommen, das hier 3.3v TTL Pegel ebenfalls bei diesem Chip genutzt werden. Das wäre bei einem direkten Anschluß an die handelsübliche RS232 "in die Hose" gegangen! Für die Umsetzung bzw. Darstellung (GLCD 128x64) nutze ich meinen mikroC Pro Compiler IDE und das nachstehende Board lv-18fj von Mikroelektronika: http://www.mikroe.com/eng/products/view/25/lv-18fj-development-system/ und muß zugeben es macht richtig Spaß damit zu "basteln". Suche im übrigen noch eMail-Kontakt zu "Gleichgesinnte"... :-) Ich müsste wenn ich mich nicht irre auch noch einen kompletten C-Source haben zum entschlüsseln des (kompletten?) NMEA-Codes eines GPS-Empfängers, falls jemand Interesse hat kann ich da gerne mal nachschauen.
hy also die verbindung klappt ja. hab einen gps auf usb wandler und das terminalprogramm erkennt das als rs232. das problem ist: wie kann ich kommandos absetzen? kann diese nicht einfach eintippen.. lg
lad dir mal YAT runter, da kannste die kommandos vordefinieren und via button abrufen ... http://sourceforge.net/projects/y-a-terminal/
> das problem ist: wie kann ich kommandos absetzen? > kann diese nicht einfach eintippen.. Wieso nicht? Bei einem Terminalprogramm wie HTerm oder Br@y++ (nur um die ersten beiden aus RS232 zu nennen) macht man exakt das. Eintippen oder Vorbelegen einer Taste mit dem Kommando und dann Absenden. Wichtig ist dabei, dass das Zeilenende vorhanden ist (CRLF).
Es wäre besser wenn du die Positionsdaten mal Unkenntlich machst, sonst weiß bald die "Welt" wo du wohnst (auch als Gast). Laut Google Earth bist du im hinteren Teil des Wohnblock's......
Hi Das Modul hat einen SIRFIII-Chipsatz. Dafür gibt es die Software 'Sirfdemo'. Damit lassen sich solche Einstellunge machen. MfG Spess
hinweis schrieb: > Laut Google Earth bist du im hinteren Teil des Wohnblock's...... Und laut Google sind das garnicht seine Koordinaten ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.