Hallo
Leider funktioniert dein Code bei mir nicht. So sieht dass ganze aus:
Leider bekomme ich immer nur 0 zugeschickt. Was mache ich falsch?Code:------------------------------------------------------------------------------- '----- 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 Declare Sub Thermometer() Dim Temperatur As Word Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 Do Call Thermometer() Print Temperatur Print Waitms 500 Loop '----------- Temperatur abfragen -------------------------------- Sub Thermometer() Local Device As Byte Device = &H90 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 I2crbyte Hightemp , Nack 'MSByte holen I2cstop Temperatur = Lowtemp * 10 If Hightemp = 128 Then Temperatur = Temperatur + 5 End If Temperatur = Temperatur / 10 End Sub 'Ende -------------- Temperatur ----------------------------------------
mfg Luca
Edit: "Device = &H90" heisst das alle Ports nach GND gezogen sind, also Hex90?
Lesezeichen