DS1631.C2 V1.1 - Hilfe


Beschreibung

Einfügen als Gemeinsames Modul

Funktionen:

init()
Reset()
setConfig()
getConfig()
readb()
readi1()
readi2()
readl()
setTh()
getThH()
getThL()


Beschreibung   Nach oben

Das Modul ds1631.c2 ist ein Treiber für den I²C-Bus Temperatursensor DS1631
am internen I²C-Bus.
Alle Routinen des Moduls sind mit Hilfe des I²C-Captures von i2c.c2 ab V1.2 gecaptured.


Einfügen als Gemeinsames-
Modul
   Nach oben

Die Datei ds1631.c2 in das Verzeichnis .\CControl2\UserLib kopieren und
in der Datei modules.txt die Zeile ds1631.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.


Funktionen:

init()   Nach oben

    function init(byte addr)

Die Funktion init() initialisiert den Sensor mit der angegebenen Adresse.
Wird der Wert 8 übergeben, so werden an allen 8 Adressen die Sonsoren initialisiert

addr Baustein Adress nach A0 bis A2: 0 bis 7
8= alle Sensoren  
 

Reset()   Nach oben

    function Reset(byte addr)

Die Funktion Reset() führt einen Software-Reset am angegebenen Sensor aus.

addr Baustein Adress nach A0 bis A2: 0 bis 7
8= alle Sensoren  
 

setConfig()   Nach oben

    function setConfig(byte addr, byte config)

Mit setConfig() wird das Konfigurationsregister des angegebenen Sensors
entsprechend des Bitmusters von config gesetzt.

addr Baustein Adress nach A0 bis A2: 0 bis 7
8= alle Sensoren  
config Konfigurationsregister

getConfig()   Nach oben

    function setConfig(byte addr) returns byte

Mit getConfig() wird das Konfigurationsregister des angegebenen Sensors
als Bytewert zurückgegeben.

addr Baustein Adress nach A0 bis A2: 0 bis 7
 

Aufbau des Konfigurations-Registers:

MSB b6 b5 b4 b3 b2 b1 LSB
DONE THF TLF NVB R1 R0 POL 1SHOT

Bit Funktion
DONE - Temperature-conversion done (Read-Only) Power-Up-state= 1
 0=Temperature conversion is in progress.
 1=Temperature conversion done.
THF - Temperatur-High-Flag
(read/write)
Power-Up-state= 0
0= Die gemessene Temperatur hat noch nicht
      den oberen Thermostatwert erreicht
1= Die gemessene Temperatur hat 
     den oberen Thermostatwert erreicht
     THF hat solange den Wert 1, bis dieser
     mit 0 überschrieben wurde.
THL - Temperatur-Low-Flag
(read/write)
Power-Up-state= 0
0= Die gemessene Temperatur hat noch nicht
      den unteren Thermostatwert unterschritten
1= Die gemessene Temperatur hat 
     den unteren Thermostatwert unterschritten
     THL hat solange den Wert 1, bis dieser
     mit 0 überschrieben wurde.
NVB - NV-Memory Busy
(Read-Only)
Power-Up-state= 0
1= Es wird gerade ins EEProm geschrieben
R1 - Resolution Bit 1
R0 - Resolution Bit 0
(read/write)
Power-Up-state= 0b11
Auflösung:
0b00 9Bit
0b01 10Bit
0b10 11Bit
0b11 12Bit
POL -Tout Polarity
(read/write)
Power-Up-state= letzter geschriebener Wert
(EEprom)
1= Tout besitzt im eingeschaltetten Zustand
     einen Highpegel
0= Tout ist invertiert (Ein=low)
1SHOT - Conversion Mode
(read/write)
Power-Up-state= letzter geschriebener Wert
(EEprom)
1 = One Shot-Mode. Es muß für jeden Temperaturlesevorgang vorher das "Start Convert T"
Kommando gesendet werden. (0x51)
0 = Die Temperatur wird kontinuierlich ausgewertet.
 

readb()   Nach oben

    function readb(byte addr) returns byte

Mit readb() wird die Temperatur als Ganzzahl gelesen und als Bytewert zurückgegeben.
Das Daten-format ist hierbei Double: Positive Temperaturen haben den Wert 0 bis 127,
negative die Werte 128 bis 255 (=-128°C bis -1°C)

addr Baustein Adress nach A0 bis A2: 0 bis 7
 

readi1()   Nach oben

    function readi1(byte addr) returns int

Mit der Funktion readi1() wird die Temperatur mit einer Nachkommastelle gelesen
und als Festkommazahl mit einem Integerwert zurückgegeben.
z.B. 105 entspricht 10,5°C

addr Baustein Adress nach A0 bis A2: 0 bis 7


readi2()   Nach oben

    function readi2(byte addr) returns int

Mit der Funktion readi2() wird die Temperatur mit zwei Nachkommastellen gelesen
und als Festkommazahl mit einem Integerwert zurückgegeben.
z.B. 1056 entspricht 10,56°C

addr Baustein Adress nach A0 bis A2: 0 bis 7


readl()   Nach oben

    function readl(byte addr) returns long

Mit der Funktion readl() wird die Temperatur mit 12Bit gelesen(4 Nachkommastellen) und als
und als Festkommazahl mit einem Longwert zurückgegeben.
z.B. 105625 entspricht 10,5625°C

addr Baustein Adresse nach A0 bis A2: 0 bis 7


setTh()   Nach oben

    function setTh(byte addr, int low, int high)

Mit setTh() wird das Thermostat des Sensors eingestellt. Es können dabei der obere und
untere Schaltpunkt festgelegt werden. Wird der Wert high erreicht, so schaltet
der Thermostatausgang des Sensors ein. Wird der Wert low erreicht, schaltet der
Ausgang aus. Der Wert low muß immer kleiner als der Wert high sein.
Ist dies nicht der Fall, wird low mit dem Wert high minus 0,1K gesetzt.
Die Temperaturen werden als Festkommainteger mit zwei Nachkommastellen angegeben.

addr Baustein Adresse nach A0 bis A2: 0 bis 7
low unterer Grenzwert: Format 0,00; z.B: 2165 entspricht 21,65 °C
high oberer Grenzwert: Format 0,00; z.B: 3410 entspricht 34,10 °C


getThH()   Nach oben

    function getThH() returns int

Mit dieser Funktion wird der oberer Schaltpunkt des Sensorthermostats ausgelesen.
Die Rückgabe erfolgt als Festkommainteger mit zwei Nachkommastellen.
(z.B. 2819 entsprichr 28,19°C)

getThL()   Nach oben

    function getThL() returns int

Mit dieser Funktion wird der untere Schaltpunkt des Sensorthermostats ausgelesen.
Die Rückgabe erfolgt als Festkommainteger mit zwei Nachkommastellen.
(z.B. 1825 entsprichr 18,25°C)


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