Hallo
Ich habe einmal dass oben von hrei, angepasst und probiert, jedoch spuckt er immer nur 255.0 aus, was mache ich falsch? Achja, ich benütze dass RN-Controll.
mfg LucaCode:'------------------------------------------------------------------------------- '----- Beispiel für das Auslesen des Temperatursensors DS1621/1631 ------------ ' HR 2006 ' 'Anmerkung: Dieses Beispiel ist sowohl für den 1621 als auch für den 1631 'geeignet. Der 1631 wird dabei im 1621 Kompatibilitätsmodus betrieben. 'Auf die Auswertung negativer Temperaturen wird verzichtet. '------------------------------------------------------------------------------- $regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Config Scl = Portc.0 Config Sda = Portc.1 I2cinit 'entbehrlich '------------------------------------------------------------------------------- Declare Sub Readtemp(byval Device As Byte) Declare Sub Convertvalue_komma1() Dim Value As Word Dim Convert_strg As String * 10 Const Ds1 = 150 'ggf. anpassen '----------------------------- Hauptprogramm ----------------------------------- Do Call Readtemp(ds1) Call Convertvalue_komma1() Print Convert_strg Waitms 500 Loop End '----------------------------- Subroutinen ------------------------------------- 'Readtemp liest die Temperatur und stellt sie nach Aufruf in der Variable Value 'in 10tel Grad zu Verfügung. Übergeben wird die Deviceadresse des Sensors. Sub Readtemp(byval Device As Byte) Local Deviceread As Byte Local Lowtemp As Byte Local Hightemp As Byte Deviceread = Device + 1 I2cstart I2cwbyte Device I2cwbyte &HEE 'Temperaturmessung anstoßen I2cstop I2cstart I2cwbyte Device I2cwbyte &HAA 'Temperaturmessung Lesekommando I2cstop I2cstart I2cwbyte Deviceread I2crbyte Lowtemp , Ack 'LSByte holen (Ganze Grad) I2crbyte Hightemp , Nack 'MSByte holen (0,5 Grad Indikator) I2cstop Value = Lowtemp * 10 If Hightemp = 128 Then Value = Value + 5 End If End Sub '------------------------------------------------------------------------------- 'Convertvalue_komma1 wandelt Value in einen String mit einer Nachkommastelle. 'Es wird gezeigt wie ein Zahlenwert in ein String gewandelt wird und dieser 'formatiert werden kann. 'Alternativ kann natürlich auch die "/10, Mod 10 Methode" angewandt werden. Sub Convertvalue_komma1() Convert_strg = Str(value) Convert_strg = Format(convert_strg , " 0.0") End Sub '---------------------------------






Zitieren

Lesezeichen