PCA9531.C2 V1.0 - Hilfe


Beschreibung

Einfügen als Systemmodul

Konstanten

Funktionen:

Reset()
setPSC()
setPWM()
setLS()
setLSAll()
get()
getb()
getLS()
getLSAll()
getReg()
getRegAll()


Beschreibung   Nach oben

Das Modul pca9531.c2 ist ein Treiber für den I²C-LED-Dimmer-IC PCA9531
und dem dem CCTools Baustein "I2C-LEDDIMM HS".
Das Modul ermöglicht das einstellen der beiden PWM-Controller, sowie
das Zuweisen der einzelnen Ports zu definiierten Pegeln oder einen der beiden PWM-Controller.
Alle Funktionen sind über das I²C-Capture gecaptured.


Einfügen als Systemmodul
   Nach oben

Die Datei pca9531.c2 in das Verzeichnis .\CControl2\Lib der IDE
kopieren und in der Datei modules.txt die Zeile pca9531.c2  
unterhalb von i2c.c2 einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt,
daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.


Konstanten   Nach oben

const Addr[] =0xC0,0xC2,0xC4,0xC6,0xC8,0xCA,0xCC,0xCE;
const AddrR[]=0xC1,0xC3,0xC5,0xC7,0xC9,0xCB,0xCD,0xCF;
Dies sind die Schreib-und Leseadressen des PCA9531.

const Input = 0;
const PSC0  = 1;
const PWM0  = 2;
const PSC1  = 3;
const PWM1  = 4;
const LS0   = 5;
const LS1   = 6;

Dies sin die einzelnen Register des ICs.


Funktionen:


Reset()   Nach oben

    function Reset(byte addr) returns int

Mit der Funktion Reset() setzt alle Register auf die Standardwerte.
Die Ports werden dabei auf Hi-Zero gesetzt. (LEDs aus)
Die Funktion gibt True(-1) zurück, wenn an der angegebenen Adresse
ein Baustein angeschlossen ist, andernfalls False(0).

addr Baustein: 0-7


setPSC
()   Nach oben

    function setPSC(byte addr, byte psc, byte value) returns int

Mit der Funktion setPSC() wird das jeweilige Prescaler-Register
der PWM-Controller gesetzt. Zulässige Werte sind 0 bis 255.
Es können so Frequenzen von 0,591Hz bis 152Hz eingestellt werden.
Der Wert für eine Frequenz wird durch folgende Formel berechnet:
value = (152/f)-1
Die Funktion gibt True(-1) zurück, wenn sich ein Baustein unter der angegebenen
Adresse befindet, ansonsten False(0).

addr Baustein: 0-7
psc Prescaler-Register
0= PWM-Controller 0
1= PWM-Controller 1
value Prescaler-Wert 0 - 255
 

setPWM()   Nach oben

    function setPWM(byte addr, byte pwm, byte value) returns int

Mit der Funktion setPWM() wird das Puls-Pausen-Verhältnis der der PWM-Controller
gesetzt. Zulässige Werte sind 0 bis 255.
Die Funktion gibt True(-1) zurück, wenn sich ein Baustein unter der angegebenen
Adresse befindet, ansonsten False(0).

addr Baustein: 0-7
pwm Pulweiten-Register
0= PWM-Controller 0
1= PWM-Controller 1
value PWM-Wert 0 - 255
 

setLS()   Nach oben

    function setLS(byte addr, byte port, byte state) returns int

Die Funktion setLS() weist dem angegebenen Ports einen von 4 möglichen
Zuständen/Signale zu. Der Port kann als Hi-Zero (=Eingang/LED aus), als Low-Pegel
gesetzt werden oder einem der beiden PWM-Controllern zugeordnet werden.
Die Funktion gibt True(-1) zurück, wenn sich ein Baustein unter der angegebenen
Adresse befindet, ansonsten False(0).

addr Baustein: 0-7
port Port 0 - 7
state 0= Hi-Zero (LED aus)
1= Low (LED ein)
2= PWM 0
3= PWM 1
 

setLSAll()   Nach oben

    function setLSAll(byte addr, byte states) returns int

Die Funktion setLS() weist allen 8 Ports einen von 4 möglichen Zuständen/Signale zu,
welche über einen Integerwert bitcodiert übergeben werden.
Je zwei Bit entsprechen einem Port.
Die Ports können als Hi-Zero (=Eingang/LED aus), als Low-Pegel gesetzt werden
oder einem der beiden PWM-Controllern zugeordnet werden.
Die Funktion gibt True(-1) zurück, wenn sich ein Baustein unter der angegebenen
Adresse befindet, ansonsten False(0).

addr Baustein: 0-7
states 16Bit Bitmuster aller 8 Ports.
(Bitzuordnung: 7766554433221100)
0b00= Hi-Zero (LED aus)
0b01= Low (LED ein)
0b10= PWM 0
0b11= PWM 1
 

get()   Nach oben

    function get(byte addr, byte port) returns int

Die Funktion get() liefert den aktuellen Zustand(True(-1)/False(0)) den angegebenen Ports zurück.

addr Baustein: 0-7
port Port 0 bis 7

 

getb()   Nach oben

    function getb(byte addr) returns int

Die Funktion get() liefert den aktuellen Zustand des kompletten Byteports
als Bitmuser zurück.

addr Baustein: 0-7


getLS()   Nach oben

    function getLS(byte addr, byte port) returns int

Die Funktion getLS() gibt die aktuelle Portzuweisung des angegebenen Ports zurück.
Es werden folgende Werte zurückgegeben: 0=Hi-Z, 1=Low, 2=PWM0, 3=PWM1

addr Baustein: 0-7
port Port 0- 7


getLSAll()   Nach oben

    function getLSAll(byte addr) returns int

Die Funktion getLS() gibt die aktuelle Portzuweisung aller Ports als 16Bit-Bitmuster zurück.
Die Portzuweisung ist in je zwei Bit codiert.

addr Baustein: 0-7


getReg()   Nach oben

    function getReg(byte addr, byte reg) returns int

Die Funktion getReg() liefert den Wert des angegebenen Registers zurück.

addr Baustein: 0-7
reg Register 0-6


getRegAll()   Nach oben

    function getRegAll(byte addr, byte data[]) returns int

Mit der Funktion getRegAll() können alle Register des PCA9531, mit Ausnahme
des Registers 0, abgefragt und in ein angegebenes Bytearray mit einer mindestgröße
von 6 Byte gespeichert werden.
Die Funktion gibt True(-1) zurück, wenn sich ein Baustein unter der angegebenen
Adresse befindet, ansonsten, oder wenn length<= 0 ist, False(0).

addr Baustein: 0-7
data Bytearray mit mind. 6Byte Größe für die Registerwerte



Autor: André Helbig   Mail: mail@cc2net.de    Erstellt: 22.1.2006