So, nun noch mal zu den Kommastellen 0,5°C bzw 0,1°C - kann mir noch mal einer zeigen wie man das umrechnet bzw wo das hier im Forum steht?
hier noch mal mein Code, der nun mit 2 Sensoren funktioniert![]()
Code:$regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 Config 1wire = Portb.0 Dim T1 As single Dim T2 As Single Dim I As Byte Dim Id1(8) As Byte Dim Id2(8) As Byte Dim Ar1(2) As Byte Dim Ar2(2) As Byte Id1(1) = 1wsearchfirst() Id2(1) = 1wsearchnext() Do Print " " 1wreset 'reset 1wwrite &H55 'Match Rom command 1wwrite Id1(1) , 8 'Id von Sensor 1 1wwrite &H44 'Convert T Waitms 300 'warten bis convert T fertig ist 1wreset 'reset 1wwrite &H55 'match rom command 1wwrite Id1(1) , 8 'id von sensor 1 1wwrite &HBE 'scratchpad lesen Ar1(1) = 1wread(1) 'erstes byte auslesen, da steht Temp drin Ar1(2) = 1wread(1) 'zweites Byte auslesen, wenn 00000000 dann pos vorzeichen, wenn 11111111 dann neg vorzeichen Waitms 500 1wreset 'reset 1wwrite &H55 'Match Rom command 1wwrite Id2(1) , 8 'Id von Sensor 2 1wwrite &H44 'Convert T Waitms 300 'warten bis convert T fertig ist 1wreset 'reset 1wwrite &H55 'match rom command 1wwrite Id2(1) , 8 'id von sensor 2 1wwrite &HBE 'scratchpad lesen Ar2(1) = 1wread(1) 'erstes byte auslesen, da steht Temp drin Ar2(2) = 1wread(1) 'zweites Byte auslesen, wenn 00000000 dann pos vorzeichen, wenn 11111111 dann neg vorzeichen T1 = Ar1(1) / 2 T2 = Ar2(1) / 2 If Ar1(2) = 0 Then 'wenn byte 2 aus dem sensor = 0 dann temp pos, sonst neg Print "Temperatur 1: " ; T1 ; "°C" Else Print "Temperatur 1: " "-" ; T1 ; "°C" End If If Ar2(2) = 0 Then 'wenn byte 2 aus dem sensor = 0 dann temp pos, sonst neg Print "Temperatur 2: " ; T2 ; "°C" Else Print "Temperatur 2: " "-" ; T2 ; "°C" End If Waitms 500 Loop







Zitieren

Lesezeichen