MEM.C2 V1.2 - Hilfe


Beschreibung

Einfügen als Gemeinsames Modul

Funktionen:

fillpos()
fill()
copypos()
copy()
putint()
putlong()
putfloat()

getint()
getlong()
getfloat()

getMemAddrByte()
getMemAddrInt()
getMemAddrLong()



Beschreibung   Nach oben

Das Modul mem.c2 beinhaltet mehrere nützliche Funktionen zum Bearbeiten
von Bytearrays.
Ab V1.2 benötigt mem.c2 für die meisten Funktionen den ASM-Treiber sys0002.hex,
welcher mit einem Download-Tool in Segment3 geladen werden.
sys0002.hex wird außerdem von den aktuellen Versionen von hwcom.c2, swcom.c2 und
strx.c2 benötigt.

Einfügen als Systemmodul   Nach oben

Die Datei mem.c2 in das Verzeichnis .\CControl2\Lib der IDE
kopieren.


Funktionen:

fillpos()   Nach oben

    inline function fillpos(byte buf[], int start, int length, byte value)

Mit der Funktion fillpos() wird ein Bytearray ab Posiotion start mit
der angegebenen Anzahl gleicher Werte value gefüllt.

buf[] Referenz auf Bytepuffervariable
start Startposition, ab der gefüllt werden soll
length Anzahl zu füllender Werte ab start
value zu füllender Wert (0-255)


fill()   Nach oben

    function fill(byte buf[], int length, byte value)

Mit der Funktion fillpos() wird ein Bytearray mit der angegebenen Anzahl
gleicher Werte value gefüllt.

buf[] Referenz auf Bytepuffervariable
length Anzahl zu füllender Werte
value zu füllender Wert (0-255)


copypos()   Nach oben

    inline function copypos(byte dest[], int destpos, byte src[], int srcpos, int len)

Mit copypos() wird der Inhalt des Bytearrays src[] ab Postion srcpos mit
der Länge len in das Bytearray dest[] ab Position destpos kopiert.

dest[] Zielarray
destpos Position im Zielarray
src[] Quellarray
srcpos Position im Quellarray
len Anzahl zu kopierenden Bytes


copy
()   Nach oben

    function copy(byte dest[], int pos, byte src[], int length)

Mit der Funktion copy() wird die Anzahl len Bytes vom Bytearray src[] zum
Bytearray dest[] ab Position pos kopiert.
dest[] Zielarray
pos Position im Zielarray
src[] Quellarray
len Anzahl zu kopierenden Bytes

Speichern von Zahlen in einem Bytepuffer   Nach oben

    inline function putint(byte dest[], int pos, int value)
    inline function putlong(byte dest[], int pos, long value)
    inline function putfloat(byte dest[], int pos, float value)

Mit diesen Funktion wird ein Zahlenwert in mehrere Bytewerte zerlegt.
Integerzahlen werden in HiByte und LoByte zerlegt;
Long in HiWord(HiByte - LoByte) - LoWord(HiByte - LoByte)
Floatwert werden in 8 Byte in das IEEE Format gespeichert
dest[] Referenz auf Byte-Puffer-Variable
pos Ausgabeposition im Puffer
value Zahlenwert

Lesen von Zahlen aus einem Bytepuffer   Nach oben

    inline function getint(byte src[], int pos) returns int
    inline function getlong(byte src[], int pos) returns long
    inline function getfloat(byte src[], int pos) returns float

Mit diesen Funktion wird ein Zahlenwert aus mehreren Bytewerten zusammengesetzt.
(Aufbau der Bytedaten siehe put*-Funktionen.)
Der Wert wird von der Funktion zurückgegeben.
src[] Referenz auf Byte-Puffer-Variable
pos Ausgabeposition im Puffer

Ermitteln von Array-Adressen im RAM   Nach oben

    function getMemAddrByte(byte data[]) returns int
    function getMemAddrInt(byte data[]) returns int
    function getMemAddrLong(byte data[]) returns int

Diese Funktion geben die Startadresse im RAM(Segment 8) der CC2 zurück

data[] Referenz auf Puffervariable



Autor: André Helbig   Mail: andre.h@cc2net.de    Erstellt: 04.06.2004 ©www.CC2Net.de