Ich benutze diesen Code:
Code:
dim Ival as integer
dim Msb as byte
dim Lsb as byte
I2cstart
I2cwbyte &H91 ' Lese-adresse !
If Err = 1 Then
I2cstop ' kein ACK vom LM75 --> irgendein Fehler
Ival = 9999 ' Zeichen, daß der Wert ungültig ist !
Else
I2crbyte Msb , Ack
I2crbyte Lsb , Nack
I2cstop
If Msb.7 = 1 Then
Ival = Makeint(msb , &HFF) ' auffüllen mit den Vorzeichen bits
Else
Ival = Makeint(msb , &H00) ' positiv, also bleibt es so
End If
Ival = Ival * 10 ' erweitern
If Lsb.7 = 1 Then
Ival = Ival + 5 ' fünf Zehntel Grad dazu
End If
End if
wobei ich "I2cwbyte &H91" durch "I2cwbyte &H9E" und auch "I2cwbyte &H9F" ersetzt habe.
In beiden fällen kam als Wert für Ival nur 9999... daran scheint es also nicht zu liegen.
Ist die Verdrahtung wie im 1ten Post beschrieben denn soweit korrekt?
Lesezeichen