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 ACU, > > das sollte eigentlich kein Problem sein. Schaue mal in die Hilfe zum strx.c2 Modul. > Da steht alles drin, auch wie man aus einem String nur bestimmte Teile ausliest und diese > dann zur Weiterverarbeitung gibt. > > Aber !! Damit das alles einfach und problemlos geht, denke Dir ein Protokoll aus, wo der > Datenrahmen immer aus gleich vielen Zeichen besteht. ( und natürlich mit System ). > Und wenn Du nur Zahlen verwendest, wird nochmal einfacher ! > > etwas so: > > alles was vom PC gesendet wird, besteht aus 8 Zeichen. > 1. Zeichen 1 oder 2 // 1 für Anfrage - 2 für Befehl > 2. 3. Zeichen 11 bis 99 // für hardware wie 11 für Motor1 - 12 für Motor2 > 4. 5. 6. Zeichen 0 bis 999 // für Werte > > und halt so weiter oder so ähnlich, weist ja selbst was Du am besten brauchst. > Ich hoffe es ist einigermaßen verständlich rübergekommen > > > Rene > > > > > > Hallo! > > Ich weiß, dass es dieses Thema schon gab, aber mein Problem ist ein bischen > > anders. > > Folgende Problemstellung: > > Ich sende über den PC eine Befehlstring über die Serielle Schnittstelle. > > Die Abfragen sollen immer mehr gesplittet werden. > > Das heißt, dass am Anfang Unterschieden wird, zwischen Befehl und Anfrage. > > Dafür steht das erste Zeichen in der String (A oder B). > > Mit der Splittung will ich erreichen, dass die empfangene String nicht mit allen > > vorhandenen Strings verglichen werden muß, sondern nur mit denen, die in die engere Wahl > > kommen. > > Die String soll dabei immer kürzer werden (die ersten Zeichen, die schon > > interpretiert wurden (dass A bzw. B) sollen abgeschnitten werden. > > Mein größtes Problem ist es, aus einer String zum Beispiel > > BLIMOTOR=255 den Wert 255 zu extrahieren, um diesesn für die PLM Ports zu verwenden. > > > > Es wäre schön, wenn ihr die Befehle gut erklären könntet, da > > ich mit den anderen Beispielen, die ich im Forum gefunden habe (zum Beispiel: > > <code> > > thread main > > { string s, searchfor; int port; > > hwcom.init(); > > hwcom.setspeed(8); > > hwcom.put(12); // Terminal-Fenster löschen > > loop > > { > > s=""; > > hwcom.inputstr(s,1); // String einlesen, Echo zurücksenden > > hwcom.put(10); > > strx.Ucase(s,0,str.length(s)); // String in Großbuchstaben umwandeln > > if strx.getchar(s,0) == 'P' > > { > > port=strx.getchar(s,1)-0x30; > > if port>=0 and port <=7 > > {port=port+8; > > searchfor="EIN"; > > if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,1); > > searchfor="AUS"; > > if strx.InStr(0,s,searchfor,str.length(s),3) != -1 ports.set(port,0); > > searchfor="DEACT"; > > if strx.InStr(0,s,searchfor,str.length(s),5) != -1 ports.deact(port); > > } > > } > > else > > if strx.getchar(s,0) == 'G' > > { > > port=strx.getchar(s,1)-0x30; > > if port>=0 and port <=7 > > { > > s="Port P1H."; > > str.putint(s,port); > > port=port+8; > > if ports.get(port) s=s+ " EIN"; else s=s+ " AUS"; > > hwcom.print(s); > > hwcom.ret(); > > } > > } > > else > > { > > s="No Command"+13+10; > > hwcom.print(s); > > hwcom.ret(); > > } > > } > > } > > </code> leider nichts anfangen kann. > > > > > > > > ACU > > > >