Funktionen:
sendframe()
init()
setd()
set()
setnd()
setn()
setb()
toggled()
toggle()
alloff()
allon()
getd()
get()
getnd()
getn()
getb()
ad()
Threads:
main { }
Beschreibung Nach oben
Mit dem Modul rbports.c2 werden die erweiterten Ports des
CC2-ReglerBoards angesteuert.
Dazu zählen die 3 Relais, der on Board AD-Multiplexer, die Ausgänge SR.5 bis
SR.7 und
weitere Schieberegistererweiterungen, welche an die Klemmen DS,SH und ST
angeschlossen
werden können.
Einfügen als Systemmodul
Nach oben
Die Datei rbports.c2 in das Verzeichnis .\CControl2\Lib
kopieren und in der Datei modules.txt
die Zeile rbports.c2 unterhalb von ports.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 maxdevices = 4; //
Max. Anzahl an möglichenSR-Erweiterungen
const ds = 13;
// Port für SR. Nicht ändern !!
const shclk= 14;
// Port für SR. Nicht ändern !!
const stclk= 15;
// Port für SR. Nicht ändern !!
Funktionen:
sendframe() Nach oben
function sendframe()
Diese Funktion sendet den Datenrahmen zum Schieberegister.
Sie sollte nicht direkt angesprochen werden, da die Funktion
nur intern verwendet wird.
init() Nach oben
function init(byte Devices, byte Mux) returns byte
Mit der Funktion init() wird die angeschlossene Anzahl von
Schiebereregistern
angegeben. Wird nur das CC2-ReglerBoard-interne SR verwendet, so muß 1
angegeben werden. Ansonsten wird die Zahl der extern angeschlossenen SR plus
dem internen angegeben.
Devices | Anzahl der Schieberegister 1 bis maxdevices |
Mux | Erweiterter Multiplexer 0=kein weiterer Multiplexer (Muxer an AD.0-.3) 1=weiterer Multiplexer an AD.4 2=weiterer Multiplexer an AD.4 und .5 3=weiterer Multiplexer an AD.4 bis .6 4=weiterer Multiplexer an AD.4 bis .7 |
setd() Nach oben
function setd(byte Port, byte device, int state)
Die Funktion setd() setzt den angegebenen Port des
angegebenen
Schieberegisters ensprechend
des Werts state.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
Port | Port 0 bis 15 |
state | Schaltzustand 0 = low 0!= high |
set() Nach oben
function set(byte Port, int state)
Die Funktion set() setzt den angegebenen Port ensprechend des Werts state.
Port | Port 0 bis devices x 8 - 1 (internes SR=Port 0-7, 1. externes= Port 8-15 usw.) |
state | Schaltzustand 0 = low 0!= high |
setnd() Nach oben
function setnd(byte device, byte Port, byte state)
Die Funktion setnd() setzt den angegebenen Nibble-Port des
angegebenen
Schieberegisters ensprechend
des 4Bit-Bitmusters state.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
Port | Nibbleport 0 bis 1 |
state | Bitmuster 0x0 bis 0xF |
setn() Nach oben
function setn(byte Port, int state)
Die Funktion setn() setzt den angegebenen Nibbleport ensprechend
des 4Bit-Bitmusters state
Port | Port 0 bis devices x 2 - 1 (internes SR=Nibbleport 0-1, 1. externes SR= Nibbleport 2-3 usw.) |
state | Bitmuster 0x0 bis 0xF |
setb() Nach oben
function setb(byte device, byte state)
Die Funktion setb() setzt die Ports des angegebenen
Schieberegisters entsprechend
dem Bitmuster state.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
state | Bitmuster 0x00 bis 0xFF |
toggled() Nach oben
function toggled(byte device,byte Port)
Die Funktion toggled() invertiert den Schaltzustand des angegebenen Ports
vom
angegebenen Schieberegister.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
Port | Port 0 bis 7 |
toggle() Nach oben
function toggle(byte Port)
Die Funktion toggle() invertiert den Schaltzustand des angegebenen Ports.
Port | Port 0 bis devices x 8 - 1 (internes SR=Port 0-7, 1. externes= Port 8-15 usw.) |
alloff()
Nach oben
function alloff()
Mit alloff() werden alle Ports aller Schieberegister auf low(=aus) gesetzt.
allon() Nach oben
function allon()
Mit allon() werden alle Ports aller Schieberegister auf high(=ein) gesetzt.
getd()
Nach oben
function getd(byte device, byte Port) returns int
Die Funktion getd() gibt den aktuellen Schaltzustand des Ports des
angegebenen
Schieberegisters zurück.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
Port | Port 0 bis 7 |
get()
Nach oben
function get(byte Port) returns int
Die Funktion get() gibt den Schaltzustand des angegebenen Ports zurück.
Port | Port 0 bis devices x 8 - 1 (internes SR=Port 0-7, 1. externes= Port 8-15 usw.) |
getnd()
Nach oben
function getnd(byte Device, byte Port) returns byte
Die Funktion getnd() gibt die Schaltzustände des angebenen
Nibbleport
des angegebenen Schiebregisters als 4Bit-Bitmuster zurück.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
Port | Nibbleport 0 bis 1 |
getn()
Nach oben
function getn(byte Port) returns byte
Die Funktion getn() gibt die Schaltzustände den angegebenen
Nibbleport als
4Bit-Bitmuster zurück.
Port | Port 0 bis devices x 2 - 1 (internes SR=Nibbleport 0-1, 1. externes SR= Nibbleport 2-3 usw.) |
getb()
Nach oben
function getb(byte device)
Die Funktion getb() gibt den Schaltzustand des angegebenen
Schieberegisters
als Bitmuster zurück.
device | 0 bis maxdevices-1 (0=interenes Schieberegister) |
ad() Nach oben
function ad(byte port) returns int
Mit dieser Funktion wird der über den AD-Multiplexer eingelesene
AD-Wert abgefragt und zurückgegeben.
Der Rückgabewert entspricht 0 bis 10230 !
Port | Port 0 bis 15 (Entsprechend den Klemmen 1 bis 16) Bei erweiterten Multiplexer zusätzlich 16 bis 31. |
Threads:
main() Nach oben
thread main {}
Dieser Thread übernimmt im Hintergrund aus Auslesen der AD-Werte
der über den AD-Multiplexer(und das Ansteuern des MUX) angeschlossenen Sensoren.
Die eingelesenen AD-Werte können dann bequem über die Funktion ad()
abgefragt werden.
Autor: André Helbig Erstellt: 11.02.2007
©www.CC2Net.de