Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
20.04.2010, 20:31
|
#51
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от kison
|
Вообще действительно забавно - чтение с датчика несколько тысяч тактов, проверка CRC сотни, а затем экономим десяток тактов. Как бы овчинка выделки не стоит.
|
Я делал термостат на tiny12, считал каждый такт и регистр, это к тому, что всегда есть задача, в которой это может пригодиться.
|
|
|
|
20.04.2010, 21:03
|
#52
|
Временная регистрация
Регистрация: 19.04.2010
Сообщений: 92
Сказал спасибо: 30
Сказали Спасибо 83 раз(а) в 37 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от kison
|
А что - это типа какой то хак?
|
Уважаемый г-н kison, похоже мы говорим одно и тоже. Вы также умножаете на 0,625 (10/16), только все число целиком, а не только дробь, далее у Вас само собой идет преобразование BCD.
Мне лично (ИМХО) больше нравится метод, когда целая часть преобразуется в BCD отдельно, а дробная по алгоритму ув. ALEKSEY188, т.к. для малого целого и BCD компактней. Вот только мне кажется, что он до сих пор считает, что преобразует дробную часть методом умножения на 10, хотя на самом деле умножает на 0,625 . А так, на вкус и цвет, как говорится, товарищей нет .
|
|
|
|
20.04.2010, 21:07
|
#53
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от SHIM1
|
Вот только мне кажется, что он до сих пор считает, что преобразует дробную часть методом умножения на 10, хотя на самом деле умножает на 0,625
|
Бомба!!! Что называется без комментариев!!!
|
|
|
|
20.04.2010, 21:12
|
#54
|
Временная регистрация
Регистрация: 19.04.2010
Сообщений: 92
Сказал спасибо: 30
Сказали Спасибо 83 раз(а) в 37 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от ALEKSEY188
|
Для того чтобы преобразовать число из одной позиционной системы в другую в нашем случае из двоичной в десятичную, нужно двоичную дробь умножить на основание системы в которую переводим.
|
Посмотрите ради интереса любой алгоритм BCD, там везде почему-то не умножают на основание системы (10 у нас), а делят . Во тупые , да-а-а, " а ребята то и не знают" (с).
|
|
|
|
20.04.2010, 21:24
|
#55
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от SHIM1
|
Посмотрите ради интереса любой алгоритм BCD, там везде почему-то не умножают на основание системы (10 у нас), а делят. Во тупые, да-а-а, " а ребята то и не знают" (с).
|
Мне добавить нечего, Вы уперлись "рогом" и не хотите понимать. Почитайте книгу которую я положил стр.145 там все расписано. Продолжать дальше не вижу смысла, поймете или нет, это уже Ваше дело!!!
|
|
|
|
20.04.2010, 22:51
|
#56
|
Временная регистрация
Регистрация: 19.04.2010
Сообщений: 92
Сказал спасибо: 30
Сказали Спасибо 83 раз(а) в 37 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от ALEKSEY188
|
Мне добавить нечего, Вы уперлись "рогом" и не хотите понимать. Почитайте книгу которую я положил стр.145 там все расписано. Продолжать дальше не вижу смысла, поймете или нет, это уже Ваше дело!!!
|
Господи, как достали ортодоксы ! Вы сами то давно читали эту супер книгу? Если да, то покажите мне пальцем: где там умножают на 10? Желательно в виде: стр. такая-то, строка сверху такая-то. А также посмотрите пример преобразования 1101b в 13 посредством умножения на степень основания 2 на стр. 146, еще посмотрите пример преобразования 1101b в 13 посредством деления на число 10 на стр. 147. Посмотрите программы на стр.149, 150, 151 и прекращайте бредить .
|
|
|
|
20.04.2010, 22:59
|
#57
|
Заблокирован
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
|
Re: Термометр на ds18b20
Для тех кто в танке стр.157!!!
|
|
|
|
20.04.2010, 23:05
|
#58
|
Временная регистрация
Регистрация: 19.04.2010
Сообщений: 92
Сказал спасибо: 30
Сказали Спасибо 83 раз(а) в 37 сообщении(ях)
|
Re: Термометр на ds18b20
Интересный вариант, только надо принимать меры к сохранению точности. При 3-х сдвигах вправо Вы выбрасываете за "борт" три младших разряда. Проверял на бумажке, в среднем будет занижение температуры на 0,1 град. С. Я бы перед преобразованием умножил на 16, а потом бы поделил (swap.....swap). А так, респект .
|
|
|
|
20.04.2010, 23:49
|
#59
|
Временная регистрация
Регистрация: 19.04.2010
Сообщений: 92
Сказал спасибо: 30
Сказали Спасибо 83 раз(а) в 37 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от ALEKSEY188
|
Для тех кто в танке стр.157!!!
|
А может быть "Почитайте книгу которую я положил стр.145 там все расписано"?
Короче, Вы правы. Глупый и пустой получился спор. Только сейчас перечитал ветку и дошло, что Вы доказываете умножение для дробной части, а я постоянно подразумевал целые числа . С дробью я согласен, даже где-то похвалил Ваш алгоритм. Дробь я обрабатывал именно так, единственное, что не сообразил: сохранить удвоенное значение, а сохранял одиночное. Из-за чего пришлось сложение делать дважды .
P.S. А то, что Вы умножаете на 0,625, а не на 10, Вы серьезно не понимаете, или притворяетесь?
|
|
|
|
21.04.2010, 00:49
|
#60
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Re: Термометр на ds18b20
Сообщение от SHIM1
|
только надо принимать меры к сохранению точности.
|
Топик шел о градуснике, для которого 0.1 градус - недостижимая точность.
Кто с ними работал в железе, это хорошо знают.
А так - прикольно было почитать, можно снести в рубрику - "отвлекитесь, эмбеддеры".
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:14.
|
|