Еще один глюк DS18B20?

Приветствую тебя, All!

Есть два датчика DS18B20 ведущих себя довольно странным образом: при понижении температуры (до +3 у одного и +17 у другого) начинают выдавать случайные значения. DS1821 работает без проблем, видимо дело в датчике... Кто-нибудь знает как обойти этот глюк? И глюк ли это?

Счастливо! Дмитрий.

Reply to
Dmitry Akulov
Loading thread data ...

"Dmitry Akulov" snipped-for-privacy@f20.n.z2.fidonet.org> сообщил/сообщила в новостях следующее: news: snipped-for-privacy@f20.n.z2.ftn...

А чем ты его опрашиваешь? У меня был подобный прикол когда неправильно были определены временные пределы импульсов, а при изменении температуры они немного плывут, со всеми вытекающими последствиями.

С ув. Дмитрий

Reply to
Dmitry Boyko

Приветствую тебя, Dmitry!

06 Окт 03 19:04, Dmitry Boyko пишет к Dmitry Akulov:

Да, видимо, при охлаждении датчика тайминги плывут, но в какую сторону и на сколько? Датчик опрашивается pic16f84a вот такой процедурой:

IN_BYTE: ; Прием байта в W MOVLW .8 MOVWF _N CLRF I_BYTE IN_BYTE_1: CALL PIN_LO NOP CALL PIN_HI movlw .1 call DELAY_10USEC ; ждем 15 мкс MOVF PORTB, W ; читаем данные с DATA_PIN MOVWF TEMP BTFSS TEMP, DATA_PIN ; проверяем порт BCF STATUS, C ; если 0, включаем признак переноса BTFSC TEMP, DATA_PIN BSF STATUS, C ; если 1 выключаем RRF I_BYTE, F MOVLW .6 ; ждем 65 мкс CALL DELAY_10USEC DECFSZ _N, F GOTO IN_BYTE_1 MOVFW I_BYTE ; возвращаем результат в W RETURN

PIN_HI: BSF STATUS, RP0 BSF TRISB, DATA_PIN ; high impedance BCF STATUS, RP0 RETURN

PIN_LO: BCF PORTB, DATA_PIN BSF STATUS, RP0 BCF TRISB, DATA_PIN ; low impedance zero BCF STATUS, RP0 RETURN

Все точно по инструкции. ;-)

Счастливо! Дмитрий.

Reply to
Dmitry Akulov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.