Hello, Im trying some code from here for temperature measuring with 1wire DS1820, it is code from LarsK : http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=7768&highlight=ds1820
Everything working about 10 minutes with 2xDS18S20 sensors, but after 10 minutes temperature measuring stop working and display only -0,5 C for both sensors like the same as disconected sensors .
I'm the beginner so I dont know where is the problem, can somebody help to fix that freezing? It seems like 1wire stop working...or what?
thank you
my code>
Ds1820:
'I = 1wirecount()
'Dsid1(1) = 1wsearchfirst()
'Dsid2(1) = 1wsearchnext()
'Cls
'Locate 1 , 1
'Lcd "Anz. Sensoren: " ; I
'Wait 1
'Cls
'Locate 1 , 1
'Lcd Dsid1(8) 'markantes Byte (CRC ?) als Identifizierer anzeigen
'Locate 1 , 6
'Lcd Dsid2(8)
'Wait 1
Gosub Tempwandeln 'LCD-Anzeige bleibt während Wandlungszeit ca. 0,8s länger stehen!
1wreset
1wwrite &H55 'Befehl "Match ROM" (bestimmten Sensor adressieren/auswählen)
For I = 1 To 8
1wwrite Dsid1(i) '64bit bzw. 8byte lange ID-Nummer übermitteln
Next I
1wwrite &HBE 'Befehl "Read Scratchpad" (Speicher auslesen)
Rom1 = 1wread(1)
Temp1 = Rom1 / 2 'for 18S20
If Temp1 >= 100 Then 'so spare ich mir das Auslesen des 2. Bytes, schränke aber auch den Anzeigebereich ein
Temp1 = Temp1 - 128
End If
1wreset
1wwrite &H55 'Befehl "Match ROM" (bestimmten Sensor adressieren/auswählen)
For I = 1 To 8
1wwrite Dsid2(i)
Next I
1wwrite &HBE 'Befehl "Read Scratchpad" (Speicher auslesen)
Rom2 = 1wread(2) 'for DS18B20
Temp2 = Rom2 / 2
If Temp1 >= 100 Then 'so spare ich mir das Auslesen des 2. Bytes, schränke aber auch den Anzeigebereich ein
Temp1 = Temp1 - 128
End If
Locate 1 , 1
Lcd Temp1 ; "°C" ;
Locate 2 , 1
Lcd Temp2 ; "°C"
'Waitms 100
Return
Tempwandeln:
1wreset
1wwrite &HCC 'Befehl "Skip ROM" (auf einzelne Adressierung verzichten)
1wwrite &H44 'Befehl zur Temperaturmessung
Ddrb.4 = 1 'DQ-line MUSS spätestens 10µs nach dem Befehl &H44 für mind. 750ms auf High gelegt werden!
Waitms 10 'jeder 18 S/B 20 zieht jetzt ca. 1,5mA
Ddrb.4 = 0
Return
[b:e614e3607d][color=red:e614e3607d](BASCOM-AVR version : 11.9.5 , Latest : 2.0.7.7 )[/b:e614e3607d][/color:e614e3607d]
↧