Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.06.2009, 18:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от Halex07
|
DS-ки отличаются(!!!) B и S разрядностью кода температуры. Для S, если мне память не изменяет, (неохота лезть в архив) необходимо тогда поставить режим как у B вроде 10 разрядов вместо 12.
;
|
Всё правильно, только У "S" фиксировано 9 бит и младший бит весит 0,5 градуса. У "B" после запятой 4 бита. Нужно сдвинуть результат полученый из датчика "S" на 3 бита влево(в сторону старших) перед вычислением температурры по алгоритму для "B" (по дефолту 12бит)
Сообщение от TEHb
|
Интересно, откуда столько пессимизма?
|
А откуда столько оптимизма? Вы хотите сказать что это вообще возможно?... устранение всех глюков?
Ведь сюда накладываются и глюки системмы и железа...
А мне просто интерестно, так сказать спортивный интерес... а какой срок назовёте Вы...
Стремление к совершенству.. процесс бесконечный..
И тут ещё есть коммерческий интересс... пока есть глюки - пока есть работа ))) процесс идёт, пользователи платят...
|
|
|
|
17.06.2009, 18:32
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
2Тень
Не обращай внимания. Если принять во внимание все глюки Винды и их почти ежедневное латание дыр, то лучше вообще не включать компьютер а сразу застрелиться.
2intell2000
Я как тот сыщик, приятель Мюллера из "Семнадцати мгновений" препутал четные и нечетные номера домов.
Не утерпел, заглянул в даташиты - все с точностью до наоборот.
В 18B20 код температуры 12-ти разрядный при этом в младшем байте слова первые четыре бита - это значение после запятой.
В 18S20 код 9-разрядный. В младшем байте первый бит - это десятые доли градуса (после запятой) а старший байт содержит только знак, т.е. в Вашем случае (только положительные значения - указано у автора) его вообще можно и не читать.
Ну и последнее - ведь в авторском варианте есть код на Си (архив Code) и даже похоже с попыткой универсальности под IAR и CodeVision. Коды семисегментника я же брал оттуда. А в файле read_temp.h как раз преобразрование температуры:
Код:
|
for(k = 0; k ‹ 9; k++)
{
get[k] = read_byte();
}
crc = calc_crc(get, 9);
if(crc)
{
return 0;
};
temper.byte.msb = get[1]; /* старший байт температуры */
temper.byte.lsb = get[0]; /* младший байт температуры */
if(temper.byte.msb ‹= 0x80)
{
temper.word = (temper.word * 5) / 8;
}
else
{
temper.word = (~temper.word) + 1;
temper.word = (temper.word * 5) / 8;
}
return(temper.word); |
Вот здесь и надо править: как минмимум убрать деление на 8, как максимум вообще все перелопатить - читать и преобразовывать только младший байт. Да и где то в исходниках мелькало что-то про 4МГц, но никак не про 6. Досконально разбираться сейчас некогда, если у Вас время терпит - позже могу подогнать под уже Ваш готовый девайс. Ну или у кого есть свободное время - наметки исправлений я дал.
|
|
|
|
17.06.2009, 18:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от picavr
|
А откуда столько оптимизма? Вы хотите сказать что это вообще возможно?... устранение всех глюков?
Ведь сюда накладываются и глюки системмы и железа...
А мне просто интерестно, так сказать спортивный интерес... а какой срок назовёте Вы...
Стремление к совершенству.. процесс бесконечный..
И тут ещё есть коммерческий интересс... пока есть глюки - пока есть работа ))) процесс идёт, пользователи платят...
|
Оптимизм - сделать систему, удовлетворяющую большинство пользователей. Всегда найдутся те, кому не нравится например что в протеусе симуляция идёт практически на одном ядре, или что нет вычисления электромагнитной зависимости, или невозможно просимулировать СВЧ схемотехнику.
И не в наших интересах продавать заведомо глючную систему, когда нам становится известно об ошибках, и есть возможность их исправления - мы это делаем. Мы не торгаши с рынка.
И вообще - для ругани по поводу протеуса есть отдельные ветки.
|
|
|
|
17.06.2009, 19:17
|
|
Прохожий
Регистрация: 02.01.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Господа, всем спасибо за участие, вопрос (временно?) снят, вчера двухлучевым осциллом изучал работу регистра, и в случае индикатора с общим анодом (который сейчас установлен) его включение происходит в некорректные моменты времени (когда данные на выходах регистра изменяются).
Поставлю общий катод - сообщу о результате.
Halex07
picavr
Спасибо за инфу про DSку, я только бегло прочел краткое описание, и различий (кроме корпуса) не заметил.
|
|
|
|
17.06.2009, 19:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от TEHb
|
Оптимизм - сделать систему, удовлетворяющую большинство пользователей.
|
Хотеть то можно, но глюки у вас кочуют из версии в версию.. и я не думаю что вы их не занете )))
Сообщение от TEHb
|
Сообщение от picavr
|
А мне просто интерестно, так сказать спортивный интерес... а какой срок назовёте Вы...
|
|
А смысл тогда спрашивать... не отвечая
|
|
|
|
17.06.2009, 20:40
|
|
Частый гость
Регистрация: 04.01.2009
Сообщений: 41
Сказал спасибо: 59
Сказали Спасибо 20 раз(а) в 9 сообщении(ях)
|
Позвольте и мне вставить пять копеек...
Насчёт глюков в Софтвере (ну и симметрично-аналогично в хардвере).
Известный европейский ученый по фамилии Дейкстра во второй половине 20-го века задался этим вопросом - как доказать теоретически правильность программного кода? Он занимался конечно софтвером, но аналогичный вопрос уместен и к "железу" - хардверу.
Дейкстра, будучи професором университета и имея в прошлом прекрасное математическое образование мыслил естественно в соответствии со своим жизненным опытом и привычками. Вот он и хотел применить математические обычаи к программному продукту. То есть создать набор теорем, лемм, аксиом и следствий в виде теоретического аппарата, пригодного для доказательства правильности программного кода (говоря нашим языком - доказательства отсутствия глюков в программе). Однако професор с удивлением обнаружил, что:
1.(Теорема) НЕ СУЩЕСТВУЕТ ТЕСТА (СПОСОБА!) ДОКАЗАТЬ ПРАВИЛЬНОСТЬ ПРОГРАММНОГО КОДА. Это значит, что всегда может встретится комбинация входных данных, которая вызовет аварию в программе. (Для "железа" - это комбинация сигналов и прочих вещей - помех, сбоев по питанию, старение элементов).
2.Следствие первое: ВСЯКАЯ ПРОГРАММА СОДЕРЖИТ ОШИБКИ
3.Следствие второе: ВСЯКАЯ НАЙДЕННАЯ ПОСЛЕДНЯЯ ОШИБКА - НА САМОМ ДЕЛЕ - ПРЕДПОСЛЕДНЯЯ.
4.ХОРОШИЙ ТЕСТ ОБЯЗАТЕЛЬНО ДОЛЖЕН ВЫЯВИТЬ ХОТЯ БЫ ОДНУ ОШИБКУ В ПРОГРАММЕ, иначе это зря потраченное машинное (и не только) время
Природа вещей такова, господа, не стоит нервничать и обижать людей, создающих эти вещи.
|
|
|
|
22.06.2009, 02:42
|
|
Прохожий
Регистрация: 02.01.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
поставил DS буквой B, кварц на 4мгц, и нужный индикатор, все работает, спасибо за помощь!
|
|
|
|
25.06.2009, 17:21
|
|
Прохожий
Регистрация: 02.01.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Господа! а насколько сложно будет добавить в программу гистерезис в один градус? А то термостат так убъет компрессор в кондиционере
Чувствительность получается 0,1 градус и он быстро (несколько раз в минуту) включает/выключает компрессор.
|
|
|
|
25.06.2009, 18:28
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Угу, один попался... Вот талдычу всем постоянно - делайте гистерезис в терморегуляторах, пропускают мимо ушей. Ну вот и практический результат берушей в ушах - мандраж вблизи заданной точки.
Добавить не сложно, но исходник у автора компилился из IAR, а у меня он только на работе. Сам я в отпуске. Могу попробовать из CVAVR (там все предпосылки для этого есть) вечерком, или завтра при наличии дождливой погоды смотаюсь на работу.
|
|
|
|
25.06.2009, 19:21
|
|
Прохожий
Регистрация: 02.01.2009
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
спасибо! но я уже пытался подсунуть исходники в CV AVR и он мне СТОЛЬКО мата написал Качаю IAR, уж еденичку прибавить где - соображу
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:36.
|
|