Dallas 18B20 помогите не читается

Обсуждаем контроллеры компании Atmel.
Закрыто
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Сообщение asidalv »

Купил микросхему эту нашел даташит почитал. Все сделал. Итог такой. Камень - вижу. Они видится (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 мксек (все завязано на таймере от часового кварца) , мелкие задержки для разряда емкости шины делаю пустыми циклами.

Третий день бьюсь и всё бес толку...
Реклама
Родился
Сообщения: 11
Зарегистрирован: Ср июл 22, 2009 18:05:46
Откуда: Россия

Сообщение TheAbcs »

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

а по существу - попробуйте читать не два байта, а все (их там восемь плюс CRC, вроде) и сравнить контрольную сумму, - вдруг вы что-то не то или не так читаете...
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Контактная информация:
Закрыто

Вернуться в «AVR»