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

 
 
> И снова 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
Ответов
Сергей_
сообщение Feb 3 2006, 08:31
Сообщение #2


Участник
*

Группа: Validating
Сообщений: 26
Регистрация: 18-12-05
Пользователь №: 12 357



Если мне не изменяет память - значение температуры представляет собой 2 байта.
Правые четыре бита младшего байта это дробное значение температуры, левые четыре бита старшего байта это знак температуры (0-"+", 1-"-"), все что посередине целое значение температуры
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd September 2025 - 12:30
Рейтинг@Mail.ru


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