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 |
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:
|
||||||||
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