Ds18B20 Преобразование Температуры В Нормальный Вид

19-11-2014, 18:19 От: admin Посмотрели: 432
Добрый день уважаемые форумчане!

Все время применял готовые библиотеки для температурного датчика, теперь настало время когда появилась необходимость детально разобраться в работе этого датчика.

Все понятно , кроме этой таблицы: http://electronix.ru...e=post&id=79824



На форумах вычитал что целая часть хранится в младшей тетраде старшего байта и в старшей тетраде младшего байта , а дробная часть в младшей тетраде младшего байта.

  Если из целой частью все понятно , то из дробной появляются вопросы....

Вопрос как по пунктам получить из двух байтового регистра температуру с десятыми долями и еще из знаком?



Пока вижу только такое:


temp1 = read_1w();
temp2 = read_1w();
temp1=temp1 & 0x0F; // целая 1 часть
temp3=temp2 & 0x0F; // дробная часть
temp2=temp2 >> 4; // целая вторая часть
temp1= temp1 << 4;
temp1 = | temp2;
printf("%d,%d" , temp1 , temp3)



так вот значение дробной части не соответствует даташит...

И еще этот пример не выведет отрицательной температуры, будет ошибка.
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Ds18B20 Преобразование Температуры В Нормальный Вид все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031