Добрый день уважаемые форумчане!
Все время применял готовые библиотеки для температурного датчика, теперь настало время когда появилась необходимость детально разобраться в работе этого датчика.
Все понятно , кроме этой таблицы: http://electronix.ru...e=post&id=79824
На форумах вычитал что целая часть хранится в младшей тетраде старшего байта и в старшей тетраде младшего байта , а дробная часть в младшей тетраде младшего байта.
Если из целой частью все понятно , то из дробной появляются вопросы....
Вопрос как по пунктам получить из двух байтового регистра температуру с десятыми долями и еще из знаком?
Пока вижу только такое:
так вот значение дробной части не соответствует даташит...
И еще этот пример не выведет отрицательной температуры, будет ошибка.
Раздел: AVR
Все время применял готовые библиотеки для температурного датчика, теперь настало время когда появилась необходимость детально разобраться в работе этого датчика.
Все понятно , кроме этой таблицы: 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