INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > > > > > > > > > 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: > ' 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 > > das Beispieltool funktioniert nicht...aber das tool, um die Adressen Auszulesen geht... |
Antwort schreiben |