Quantcast
Viewing all articles
Browse latest Browse all 20637

BASCOM-AVR : Problem with 1wire DS1820 : NEWTOPIC

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]

Viewing all articles
Browse latest Browse all 20637


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>