Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: doch noch ein problem Kategorie: C-Control I V1.2/2.0 (von DIE HARD - 2.10.2005 19:11)
 Als Antwort auf doch noch ein problem von Daniel Schroth - 2.10.2005 17:47

>
> >
> > > Die aktuelle LIB ist hier:
> > >
> > > http://www.c-control-support.de/downloads/lib_jun05.zip
> >
> > Danke....jetzt bekomme ich wenigstens nichtmehr diese 7 Fehlermeldungen...Ein Problem gibts aber noch. Mit der Funktion DS2482SPUON(), die in der Lib ist, schalte ich mir das Display aus...Er erfasst die Temperatur zwar korrect, aber das Display ist plötzlich aus. Ich hab an dem Converter keine Jumper gesetzt. Was muss ich machen, damit ich Display und 1-Wire Converter mit Temperaturfühler gleichzeitig verwenden kann?
> >
> > Daniel
>
> ich hab doch noch ein Problem...Die Temperaturmessung funktioniert doch nicht...Wenn ich die Temperaturmessung so mache:
>
> DS2482SPUON()
> MATCHROM(16,206,203,181,0,8,0,67)
> CONVERT()
> MATCHROM(16,206,203,181,0,8,0,67)
> TEMP=DS1820GET_TEMP()
> temperatur=TEMP/2
> lcd.pos 1,12
> lcd.print temperatur&"`C"
>
> Dann stürzt alles ab. Kann mir bitte jemand erklären, wie ich jetzt eine Temperatur beomme? Die ROM-ADDRESSE stimmt auf jeden Fall....

Hallo....
Läuft die Demo, die ich dazu veröffentlicht habe?
Lies bitte auch die Hinweise dazu.
Ausserdem ist wichtig, dass das LCD initialisiert ist,
bevor die Routinen aufgerufen werden.
Und das LCD-Objekt muss geschlossen sein, wenn diese Routinen
aufgerufen werden.
ciao......
--------------------------------------------------------------------------------------------
' Eine kleine DEMO um die TEMPERATUR eines DS1820 am DALLAS
' 1 WIRE BUS abrufragen.
' Das Programm frägt in diesem Beispiel einen DS1820 mit folgender
' Adresse ab: 16-103-103-158-0-8-0-127
' Sie können das Programm auf Ihren DS1820 einstellen, wenn Sie die Zeile
' MATCHROM(16,103,103,158,0,8,0,127) auf die Adresse des jeweiligen
' Temperatursensors einstellen, der abgefragt werden soll

' Sie benötigen diese Adresse für jeden Teilnehmer am Bus. Ein kleines
' Tool, diese auszulesen, finden Sie bei den Beispielen.
'---------------------------------------------------------------------
' Beispielprogramm:
' Das Programm schleift und zeigt die Temperatur am LCD an. Der Abfragezyklus
' wird von der Wandlungszeit des DS1820 bestimmt und beträgt ca. 200ms
' Der DS1820 kann als wirklicher Zweidraht-Sensor im sog. PARASITE-POWER-MODE
' betrieben werden. Der Vdd Anschluss des Sensors liegt dann an GND und die
' Betriebsspannung wird auf der Datenleitung entnommen. In dieser Betriebsart
' muss die Routine
'
' #WTC                      'WAIT CONVERTION IN NON-PARASITE POWER MODE
' DS2482WIRE_READBYTE()
' if ((DS2482GET_DATA) and 80h)=0 then goto WTC
'
' durch eine Pause 50 ersetzt werden
' Sie steht in der Function CONVERT() in DS1820_GENERIC.BAS

' Sie können die Demo benutzen und erweitern ohne die Details im Treiber
' näher zu kennen. Wer sich aber dafür interessiert findet den Treiber
' in der Library und eine Auflistung der Flags im STATUS/CONFIG Register
' des DS2482
'----------------------------------------------------------------------
' Der 1WIRE-BUS <-> IIC-BUS CONVERTER IST IN DIESM FALL AUF ADRESSE 54,
' ALLE ADRESS-JUMPER SIND ABGEZOGEN.
'-----------------------------------------------------------------------
'
'

'
'------------------------------------------------------------------------


'--------------------------
'------ I/O PORTS ---------
'--------------------------
define LIGHT         port[16]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define TEMP         as word
define TEMPHI       as byte
define TEMPLO       as byte

import "....\LIB\DS2482_GENERIC.BAS"
import "....\LIB\DS1820_GENERIC.BAS"

#INIT
LIGHT=off
'----------- EINSCHALT MELDUNG ------------------------
LCD.INIT
LCD.PRINT "READ DS1820 TEMP"
LCD.OFF
'-----------------------------------------------------
DS2482RESET()
DS2482WIRERESET()
'-------------------------------------------------------------
'-----            LOOP READING TEMPERATURE                 ---
'-------------------------------------------------------------
#LOOP
pause 5
DS2482SPUON()
MATCHROM(16,103,103,158,0,8,0,127)
CONVERT()
MATCHROM(16,103,103,158,0,8,0,127)
TEMP=DS1820GET_TEMP()
LCD.INIT switchonly
LCD.POS 2,1
LCD.PRINT "TEMP: " & TEMP/2 & "." & (TEMP and 1)*5 & " C        "
LCD.OFF
goto LOOP


 Antwort schreiben

Bisherige Antworten:

Re: doch noch ein problem (von Daniel Schroth - 2.10.2005 19:24)
    Re: doch noch ein problem (von DIE HARD - 2.10.2005 22:43)
        Re: doch noch ein problem (von DIE HARD - 3.10.2005 12:48)
            Re: doch noch ein problem (von Daniel Schroth - 3.10.2005 12:53)
                Re: doch noch ein problem (von DIE HARD - 3.10.2005 13:13)
                    Re: doch noch ein problem (von Daniel Schroth - 3.10.2005 13:34)