Hallo
Leider funktioniert dein Code bei mir nicht. So sieht dass ganze aus:

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 ----------------------------------------
Leider bekomme ich immer nur 0 zugeschickt. Was mache ich falsch?

mfg Luca

Edit: "Device = &H90" heisst das alle Ports nach GND gezogen sind, also Hex90?