реклама на сайте
подробности

 
 
> И снова DS18B20, Непонятен результат измерения
Igor26
сообщение Feb 3 2006, 07:46
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



В описании на DS18B20 сказано, что значение положительной температуры - это один байт (нулевой).
Если его значение разделить на два, то получаем целое значение температуры в градусах Цельсия.
Если значение измеряемой температуры становится отрицательным, то первый байт становится 0xFF.
Измеряю комнатную температуру и вижу примерно следующие значения: нулевой байт=0xD7,
первый байт=0x01.(как видим, значение температуры - ДВА байта!!!) Значение измеряемой температуры получается 235 градусов! Вытащил датчик за окно. Значение начало добросовестно линейно уменьшаться и при переходе через ноль первый байт, опять же добросовестно,
становится 0xFF. CRC во всех случаях равна нулю. Второй датчик ведет себя точно так же.
Попробовал читать из DS1990. Правильно читает сто из ста.
Вопрос в следуещем. Так как же перевести то, что прочел из датчика в реальные градусы Цельсия или
Фаренгейта???

Сообщение отредактировал Igor26 - Feb 3 2006, 07:48
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Igor26
сообщение Feb 3 2006, 19:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Ещё раз всем спасибо!!! Действительно, делением на 16 значения ,считанного из датчика, проблему решило(Rst7 мой Вамa14.gif ), а c примером от ALess всё ясно, как работать с отрицательными значениями! a14.gif
Уважаемые модераторы, тему можно закрывать.
Go to the top of the page
 
+Quote Post
ROC
сообщение Feb 3 2006, 22:56
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 14-11-04
Из: Санкт-Петербург
Пользователь №: 1 125



Цитата(Igor26 @ Feb 3 2006, 22:04) *
Ещё раз всем спасибо!!! Действительно, делением на 16 значения ,считанного из датчика, проблему решило(Rst7 мой Вамa14.gif ), а c примером от ALess всё ясно, как работать с отрицательными значениями! a14.gif
Уважаемые модераторы, тему можно закрывать.

Кгхм...
Не поторопились, уважаемый? Делением на 16 проблему не решить, Там реально сначала нужно умножить на 10, а вот потом уже делить на 16, а то Ваши результаты будут врать ровно в 10 раз.


--------------------
WBR,
ROC.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.0179 секунд с 7
ELECTRONIX ©2004-2016