paul-stanley
29.02.2008, 19:15
hallo zusammen,
ich bin gerade beim testen vom DS1621. soweit geht alles. allerdings hab ich ein problem mit der formatierung des tempwertes den ich ans display schicken will.
vielleicht kann mir jemand weiterhelfen da ich blutiger anfänger bin.
ich bekomme den wert 190 für 19.5 grad angezeigt.
ausserdem sollte die erste messung abgebrochen werden, da ab und an den 0 beim ersten einlesen kommt.
vielen dank für eure hilfe.
gruss martin.
anbei mein spagetticode:
Do
I2cstart
I2cwbyte Device
I2cwbyte &HEE 'Temperaturmessung anstoßen
I2cstop
I2cstart
I2cwbyte Device
I2cwbyte &HAA 'Temperaturmessung Lesekommando
I2cstop
I2cstart
I2cwbyte Deviceread
I2crbyte Lowtemp , Ack 'LSB holen
I2crbyte Hightemp , Nack 'MSB holen
I2cstop
Value = Lowtemp * 10
If Hightemp = 128 Then
Value = Value + 5
End If
Temp1 = Str(value)
Temp1 = Left(temp1 , 4)
Call Lcd_print(temp1 , 75 , 89 , 1 , 1 , 1 , Yellow , Black)
waitms 500 'kurze Pause
Loop
End
ich bin gerade beim testen vom DS1621. soweit geht alles. allerdings hab ich ein problem mit der formatierung des tempwertes den ich ans display schicken will.
vielleicht kann mir jemand weiterhelfen da ich blutiger anfänger bin.
ich bekomme den wert 190 für 19.5 grad angezeigt.
ausserdem sollte die erste messung abgebrochen werden, da ab und an den 0 beim ersten einlesen kommt.
vielen dank für eure hilfe.
gruss martin.
anbei mein spagetticode:
Do
I2cstart
I2cwbyte Device
I2cwbyte &HEE 'Temperaturmessung anstoßen
I2cstop
I2cstart
I2cwbyte Device
I2cwbyte &HAA 'Temperaturmessung Lesekommando
I2cstop
I2cstart
I2cwbyte Deviceread
I2crbyte Lowtemp , Ack 'LSB holen
I2crbyte Hightemp , Nack 'MSB holen
I2cstop
Value = Lowtemp * 10
If Hightemp = 128 Then
Value = Value + 5
End If
Temp1 = Str(value)
Temp1 = Left(temp1 , 4)
Call Lcd_print(temp1 , 75 , 89 , 1 , 1 , 1 , Yellow , Black)
waitms 500 'kurze Pause
Loop
End