Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > versuche seid Tagen aus einem Bytearray einen String zu machen - aber er bleibt leer! > Ich muss einen Datensatz über swcom empfangen und in kleine Schnipsel schneiden (WDE1 von ELV), > damit ich an die einzelnen Werte der Sensoren in dem Datensatz komme. Als Trennzeichen dient ";". > Das wolte ich mit "strx.split()" realisieren. Aber dazu brauch ich als Vorlage erst einmal einen > String. Wenn ich an die split-Funktion ein Byte-Aarray übergebe, dann kommt ein Fehler. > Nun habe nach vielen anderen vergeblichen Versuchen, die Funktion "swcom.inputstr()" etwas > umgebaut, denn der Datensatz aus swcom ist länger als 30 Byte. > > Was mache ich falsch? > > //****************************************************************************** > function serial(byte s1[],byte s2[],byte echo) returns int > {byte bit,wert; > bit = 0; > wert = 0; > for bit = 0 ... 29 > { > if wert == 13 break; > wait swcom.rxd(); > wert = swcom.get(); > if echo swcom.put(wert); > if wert != 13 s1[bit] = wert; > } > for bit = 0 ... 29 > { > if wert == 13 break; > wait swcom.rxd(); > wert = swcom.get(); > if echo swcom.put(wert); > if wert != 13 s2[bit] = wert; > } > > } > > //****************************************************************************** > function wetter() > {string c1,c2; > byte bit; > str.clear(c1);str.clear(c2); //Strings löschen > serial(c1,c2,1); //Schnittstelle auslesen > //... > pcflcd.clear(); > pcflcd.print2(c1); > pcflcd.goto(2,1); > pcflcd.print2(c2); > sleep 1000; > } > //****************************************************************************** > > Wenn nun ein Datensatz ankommt (habs mit einem Terminal probiert) dann kommt brav das Echo, > aber die beiden Stringvariablen bleiben leer. > Hat jemand eine Idee wo mein Denkfehler liegt? > > Gruß Mani