Reaper666 писал(а): как можно выловить этот глюк компилятора?
Либо сравнением как здесь, либо внимательным изучением листинга дизассемблера.
Reaper666 писал(а): как можно выловить этот глюк компилятора?
Есть ещё один вариант, который Вы упустили - неправильный расчёт CRC. Его то-же стоит проверить...Если CRC без ошибок, значит передача информации проходит корректно. Значит, DS18B20, при конвертации температуры (44h), по какой-то причине ошибочно определяет температуру, которую затем безошибочно передаёт контроллеру (BEh).
100м это предел по витой паре для 1wire..... и еще активная подтяжка нужна, она у вас реализована?Gerik_PP писал(а):Выношу датчик на улицу, тупо цепляю его по витой паре длинной 100 метров, уменьшив при этом только подтягивающий до 1,5к.
Gerik_PP писал(а):цепляю его по витой паре длинной 100 метров, уменьшив при этом только подтягивающий до 1,5к. Проверка CRC проходит без ошибок, но значение температуры с каждым чтением (раз в 5 сек.) всегда отличается с разницей от 1-го до 15 градусов!!!!!
shads писал(а):100м это предел по витой паре для 1wire..... и еще активная подтяжка нужна, она у вас реализована?
Gudd-Head писал(а):Скорее всего, это помехи, от которых датчик сходит с ума.
shads писал(а):А тут по вашему CRC будет вычислятся правильно?
Прыгает в разные стороны, при реальных -6, скачет от -15 до +5Gudd-Head писал(а):Вот это уже интересно. Тоже с таким сталкивались. В какую сторону температура уходит от настоящей?
Витая пара не экранирована. Примерно 30м проложены под потолком в подвальной части дома, 30 метров под землёй в пластиковой трубе и примерно метров 20 лишней длинны смотаны (временно) в кольцо на уличном столбе на котором в настоящий момент и закреплён датчикGudd-Head писал(а):Скорее всего, это помехи, от которых датчик сходит с ума.
Где у вас проложены эти 100 м? Витая пара экранирована?
Тоже начал думать что из-за "наведённых" помех в питании неправильно работает аналоговый генератор DS18B20 в момент определения температуры. И уже неправильно определённое значение датчик записывает себе в память (правильно расчитав CRC для этого значения). Попробую обеспечить качественные +5V. Для начала на дальнем конце поставлю 10uF электролит и 0,1uF керамику. Хочу ещё добавить два диода шоттки и два ферритовых фильтра - для большей помехоустойчивости. Схемку нарыл в инете:Gudd-Head писал(а):Может, попробовать продёрнуть кабель через ферритовое кольцо у датчика?

Если всё вышеперечисленное не поможет, то тоже так сделаю. Всем спасибо за участиеshads писал(а):Я вообще, когда так далеко цепляю датчики, то подаю 12в по питанию, а рядом с датчиком ставлю 78l05
Так сколько поставить? 100пФ?Gudd-Head писал(а):У вас там антенна прям. Думаю, есть смысл наоборот поставить 10...100...1000 пФ РЧ давить.