Ich habe dir mal den 1. Code so abgeändert, wie ich denke dass er laufen müsste. Kann ich aber nicht ausprobieren.
Code:
Dim Dsid(24) As Byte
' Die Adresse meines DS1820 die ich vorher ermittelt habe
Dsid(1) = &H10 : Dsid(2) = &H99 : Dsid(3) = &H4E : Dsid(4) = &H71 : Dsid(5) = &H01 : Dsid(6) = &H08 : Dsid(7) = &H00 : Dsid(8) = &H6D
'^= 1
Dsid(9) = &H10 : Dsid(10) = &H3D : Dsid(11) = &H48 : Dsid(12) = &H71 : Dsid(13) = &H01 : Dsid(14) = &H08 : Dsid(15) = &H00 : Dsid(16) = &H71
'^= 2
Dsid(17) = &H10 : Dsid(18) = &H4D : Dsid(19) = &H47 : Dsid(20) = &H71 : Dsid(21) = &H01 : Dsid(22) = &H08 : Dsid(23) = &H00 : Dsid(24) = &H86
'^= 3
Dim Sc(9) As Byte
Dim Sc2(9) As Byte
Dim T As Byte 'kein Integer mehr
Dim T1 As Integer
Dim I As Byte
Dim Halb As Byte
Dim Halb2 As Byte
Dim Ds1820 As Byte
Dim Ds1820_2 As Byte
Cursor Off
Do
' Alle angeschlossenen DS1820 zum Messen veranlassen
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
' Den gewünschten Sensor auswählen
1wverify Dsid(1)
' Kommando READ SCRATCHPAD
1wwrite &HBE
Sc(1) = 1wread(9)
If Sc(9) = Crc8(sc(1) , 8) Then
T = Sc(1)
If Sc(2) > 0 Then
Print "-";
T = 256 - T
End If
T = T / 2
locate 1,1
If Sc(2) > 0 Then lcd "-";
lcd T ;
If Sc(1).0 = 1 Then
lcd ".5°C"
Else
lcd ".0°C"
End If
End If
' Ausgabe alle 0,75 Sekunden
Waitms 750
'usw... für 3 Sensoren.
loop
Probier es mal aus.
Lesezeichen