Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

NMEA einlesen Kategorie: Programmierung (von Mark Simon - 11.10.2010 11:51)
Ich nutze:
C164CI-ControllerBoard, original OS
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)