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

Re: String zu Byte-Array Kategorie: Programmierung (von Newbie - 4.08.2011 16:44)
Als Antwort auf Re: String zu Byte-Array von André H. - 4.08.2011 15:43
Ich nutze:
C-Control II Station, OSOPT V3.1
Gesagt, getan - mem funktioniert.

Der direkte Weg funktioniert aber auch! Manchmal ist das Ziel näher als man denkt.

Merci!

Michael

> Hallo Michael,
>
> > Z.B. Wert 100 wird als String s="+ 100%" geparst.
> >
> > Wie bekomme ich nun aus so einem String das entsprechende Bytearray byte[6]?
>
> Ein String ist ein Byte-Array. Nur hat dieses fest eine Grö�e von 32 Byte.
>
> > Ein String ist ja intern ein Array von 30 Byte. Eigentlich müsste ich nun einfach von  s im Speicher
> >  der CC die ersten 6 Byte an die Zieladresse von byte[] kopieren. mem scheint da der richtige Befehl.
>
> Da ein String ein Bytearray ist, braucht man hier nichts kopieren.
>
> > Leider "hängt" die CC2 wenn ich diesen Befehl nicht auskommentiere - wo ist der Denkfehler?
> >
> > Kann mit mem nicht auf Strings zugegriffen werden?
>
> Natürlich geht das.
> Aber es scheint so, als ob Du sys0002.hex nicht in Segment 3 der CC2 geladen hast.
> Also bitte mit dem CC2Net.de-DL-Tool nachholen.
>
> Allerdings ist das, wie gesagt, nicht notwendig.
> Wenn Du einen String einer Funktion als Byte-Array übergibst, kannst Du diesen auch so verwenden.
> Die Ã?bergabe erfolgt hier als Referenz.
> Bsp.:
> function test(byte s[])
> {byte i;
>  for i=0 ...<s[31] // in s[31] steht die Anzahl der Zeichen
>  {
>   irgendwas(s[i]);
>  }
> }
> ...
> string s;
> s="abcde";
> test(s);
>

>
>
> MfG André H.


    Antwort schreiben


Antworten: