[an error occurred while processing this directive]
|
DS18B20:
Low DQ
PauseUS 500
DQ_DIR = 1
PauseUS 100
If DQ = 1 Then
TEMPE = 9999
return
Endif
PauseUS 400
OWOut DQ, 1, [$CC, $44]
DS18B20LOOP:
OWIn DQ, 4, [I]
IF I = 0 Then DS1820LOOP
OWOut DQ, 1, [$CC, $BE]
OWIn DQ, 0, [TEMPE.LOWBYTE, TEMPE.HIGHBYTE, Skip 4, I, VAL]
TEMPE = (((TEMPE >> 1) * 100) - 25) + (((VAL - I) * 100) / VAL)
return
E-mail: info@telesys.ru