I2CKOP.C2 - Hilfe


Beschreibung

Einfügen als Gemeinsames Modul

Funktionen:

init()
Reset()
ready()
rxd()
put()
send()
get()
receive()


Beschreibung   Nach oben

Das Modul i2ckop.c2 ist ein Treiber für den CCTools I²C-Koppler.
Mit diesem ist es möglich mehrere C-Controls über den I²C-Bus zu verbinden.
Das ist bei der Verwendung der CC2 zusammen mit der CC1 sehr hilfreich,
da so keine serielle Schnittstelle "geopfert" werden muss.

Einfügen als
Gemeinsames Modul
   Nach oben

Die Datei i2ckop.c2 in das Verzeichnis .\CControl2\Userlieb kopieren und in der Datei modules.txt
die Zeile i2ckop.c2 einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt,
dass das Modul in jedem neuen Projekt von Anfang an aktiviert wird.


Funktionen:

init()   Nach oben

    function init(byte addr) returns int

Die Funktion init() initialisiert den I²C-Koppler mit der angegebenen Adresse.
Es wird -1(True) zurückgegeben, wenn ein I²C-Koppler unter der angegebenen
Adresse gefunden wurde, ansonsten 0(False), wenn sich dort keiner befindet.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))


Reset()   Nach oben

    function Reset(byte addr)

Mit der Funktion Reset() wird der Sendeteil des I²C-Kopplers zurückgesetzt, und
somit auch der Sendepuffer gelöscht.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))

ready()   Nach oben

    function ready(byte addr) returns int

Mit der Funktion ready() wird auf Sendebereitschaft geprüft.
Die Funktion gibt 0 zurück, wenn der Sendepuffer voll ist, und -1,
wenn dieser noch Daten aufnehmen kann.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))


rxd()
   Nach oben

    function rxd(byte addr) returns int

Die Funktion rxd() prüft, ob sich Daten im Empfangspuffer befinden, und
gibt dann -1 zurück. Andernfalls 0.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))


put()
   Nach oben

    function put(byte addr, byte data)

Mit der Funktion put() wird ein einzelnes Byte gesendet.
Ist der Sendepuffer voll, wartet die Funktion solange, bis in diesem
wieder Platz ist.
Die Funktion gibt -1 zurück, wenn sich an der angegebenen Adresse ein
I²C-Koppler befindet. Andernfalls 0.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))
data Datenbyte (0-255)


send()
   Nach oben

    function send(byte addr, byte data[], int len, int timeout) returns int

Mit der Funktion send() kann ein Bytearray gesendet werden.
Es kann ein Timeout angegeben werden, wie lange gewartet werden soll
bis der Sendepuffer wieder Platz bietet, wenn dieser voll ist.
Die Funtion gibt die Anzahl der gesendeten Bytes zurück.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))
data[] Bytepuffervarible
len Länge des Bytepuffers
timeout Wartezeit in ms solange auf Sendebereitschaft
gewartet werden soll, bevor der Sendevorgang
abgebrochen wird


get()   Nach oben

    function get(byte addr) returns int

Mit der Funktion get() wird ein einzelnes Zeichen aus dem Empfangspuffer gelesen.
Ist dieser leer, wird solange gewartet, bis sich wieder Daten in diesem befinden.
Die Funktion gibt den Wert des gelesenen Byte zurück (0-255). Befindet
sich kein I²c-Koppler an der angegebenen Adresse, wird -1 zurückgegeben!

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))


receive()
  Nach oben

    function receive(byte addr, byte data[], int len, int timeout)

Die Funktion receive() empfangt einen Datenrahmen mit der angegeben Länge
und schreibt diesen in das angegebene Bytearray.
Es kann ein Timeout angegeben werden, wie lange auf Daten gewartet werden soll.
Werden innerhalb des Timeouts keine weiteren Daten empfangen, bricht die Funktion ab
und gibt die Anzahl der empfangenen Bytes zurück.

addr Adresse des Bausteins 
(0-7 = PCF8574; 8-15 = PCF8574A(mit Adr. 0-7))
data[] Bytepuffervariable für die Daten
len Länge des Bytepuffers
timeout Wartezeit in ms solange auf das nächste Datenbyte
gewartet werden soll, bevor der Empfangsvorgang
abgebrochen wird

 


Autor: André Helbig   Mail: andre.h@cc2net.de    Erstellt: 16.3.2003