Befehl "strx.mid" macht Probleme Kategorie: Programmierung (von Stefan - 28.07.2005 2:06) | ||
| ||
Hallo Leute, ich habe massive Probleme, einen ASCII-String zu extrahieren. Die Daten kommen über die HWCOMM herein. Beispiel: g="AZ243.0 EL67.0"; Es handelt sich hierbei um den Azimut-Wert 243 Grad und dem Elevationswert 67 Dann sollen am Ende zwei Zahlen zwei Variablen zugeordent werden. Die dann in der C-Control weiter verarbeitet werden sollen. Ich habe mir schon das neueste OS von "CC2Net" geholt. Doch leider habe ich keinen Erfolg und es herrscht Ratlosigkeit. Die LCD-Anzeige bringe ich nicht dazu, den "2-ten Wert" am Anfang der zweiten Zeile zu schreiben, sie klebt es stattdessen an das Ende des Wertes der ersten Zeile. Ob "goto" oder "line" es geht leider nicht. Hier das Listing: string g, azs, els; long az, el; /******************************************** Daten an ser.c2 ASCII-Daten von WX-Track an die Serielle *********************************************/ //------------ thread main //------------ { hwcom.init (); hwcom.setspeed (hwcom.SPEED_9600); pcflcd.setpcf(1); // I2C LCD-Anzeige adressieren pcflcd.init(); // I2C LCD-Anzeige initieren sleep 35; // x ms Pause pcflcd.clear(); // I2C LCD-Anzeige löschen pcflcd.setLight(1); // LCD-Beleuchtung: 0=AUS, 1=EIN pcflcd.line(1); // 1. Zeile der Anzeige vorbereiten pcflcd.print("Online Tracking Data"); pcflcd.line(1); pcflcd.print("AZ: "); pcflcd.line(2); pcflcd.print("EL: "); loop { pcflcd.goto(2,0); g = " "; wait hwcom.rxd(); { hwcom.receive(g,20,100); strx.mid(g,azs,2,5); //�bernahme des Azimutwertes, zB: 243.0 strx.mid(g,els,10,4); //�bernahme des Elevationswertes, zB: 67.0 az = strx.getNum(azs); el = strx.getNum(els); // ******************************** ab hier kommt später die Weiterverarbeitung************* pcflcd.goto(2,5); pcflcd.zahl3p(az); pcflcd.goto(3,5); pcflcd.zahl3p(el); pcflcd.goto(4,5); pcflcd.print(g); } } } Wer kann mir weiterhelfen ?? | ||
Antwort schreiben Antworten: |