Купил микросхему эту нашел даташит почитал. Все сделал. Итог такой. Камень - вижу. Они видится (Reset-Presence) , реагирует на команды 33h и BEh те - возвращает данные. Все вроде бы нормально. Но вместо температуры возвращается всегда одно и тоже число, независящее от температуры! Если быть более точным,
возвращается всегда значение 10101010000 что является дефолтовым значением после включения питания. МС как бы не реагирует на команду 44 (Temp converse)
Делаю так:
> Reset
< Presence
> команда CC (skip rom)
< команда 44 (converse Temp)
-- пауза 1 сек --
> Reset
< Presence
> команда CC (skip rom)
> команда BE (read SRAM)
< читаю побитно линию 1-wire первые 2 байта
Возвращается одно и тоже независимо от температуры!
Датчик может неисправен? При пайке перегрева не боится?
На ассемблере. Программа - сложная потому что не в цикле датчик опрашивается а в фоновом режиме (Idle) когда процессор ничего не делает.
Между всеми командами и таймслотами - пауза 30 мксек (все завязано на таймере от часового кварца) , мелкие задержки для разряда емкости шины делаю пустыми циклами.
Третий день бьюсь и всё бес толку...
возвращается всегда значение 10101010000 что является дефолтовым значением после включения питания. МС как бы не реагирует на команду 44 (Temp converse)
Делаю так:
> Reset
< Presence
> команда CC (skip rom)
< команда 44 (converse Temp)
-- пауза 1 сек --
> Reset
< Presence
> команда CC (skip rom)
> команда BE (read SRAM)
< читаю побитно линию 1-wire первые 2 байта
Возвращается одно и тоже независимо от температуры!
Датчик может неисправен? При пайке перегрева не боится?
На ассемблере. Программа - сложная потому что не в цикле датчик опрашивается а в фоновом режиме (Idle) когда процессор ничего не делает.
Между всеми командами и таймслотами - пауза 30 мксек (все завязано на таймере от часового кварца) , мелкие задержки для разряда емкости шины делаю пустыми циклами.
Третий день бьюсь и всё бес толку...
