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 André H. - 4.08.2011 15:43)
Als Antwort auf String zu Byte-Array von Newbie - 4.08.2011 15:26
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.1
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.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: String zu Byte-Array (von Newbie - 4.08.2011 16:44)