Ds3231 Вывод Температуры

Модератор: boogyman

Ответить
Аватара пользователя
djeki7
Новичок
Сообщения: 2
Зарегистрирован: 09 ноя 2013, 12:51

Ds3231 Вывод Температуры

#1

Сообщение djeki7 »

собираю устройство на AVR в качестве часов использую DS3231 - по работе с регистрами часов и календаря вопросов нет все работает нормально - а вот с температурой немогу понять где натупил при отображении плюсовых температур брешет, к примеру провереный термометр на 18в20 показывает 21.25 градуса а DS3231 - 25.25 градусов. а с отрицательными температурами вообще не адекватно отображает.
если я правильно перевел датасшит то в регистре 0х11 хранится целая часть температуры и знак (8 байт знак температуры, остальные семь целая часть температуры), в регистре 0х12 в 7 и 8 байте хранится дробная часть температуры с разрешением 0.25.

к примеру

0х11 = 0b00011001
0x12 = 0b0100000

в итоге имеем знак температуры 0 т.е. +
температура 0b 0011001 01 (0b0011001=25)(0b01=1; 1*0,25=0,25)
в итоге температура +25.25 градусов

про отрицательную температуру в даташите нислова

может ктото уже работал с этой DS3231 и поправит меня может я в чемто ошибаюсь и неправильно понял датасшит?

привожу кусок кода вывода температуры

Код: Выделить всё

void ds3231_temperature(void)
{
unsigned char temp;

temp=rtc_read(0x11);
LCD_Goto(13,2);
         if (temp & 0b10000000)
{
LCD_WriteData('-');
}
else {
LCD_WriteData('+');
};
lcd_out(temp&0b01111111);
LCD_WriteData('.');
temp=rtc_read(0x12);
lcd_out(((temp&0b11000000)>>6)*25);

        
}
Аватара пользователя
boogyman
Модератор
Сообщения: 183
Зарегистрирован: 25 дек 2011, 22:48
Откуда: Москва

Re: Ds3231 Вывод Температуры

#2

Сообщение boogyman »

Не все DS3231 меряют ниже нуля, если маркировка просто DS3231 то он меряет от 0 до 70 градусов
Аватара пользователя
djeki7
Новичок
Сообщения: 2
Зарегистрирован: 09 ноя 2013, 12:51

Re: Ds3231 Вывод Температуры

#3

Сообщение djeki7 »

у меня
DS3231SN -40°C to +85°C 16 SO DS3231N
Ответить