logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Codevision ds18b20.lib - brak pomiaru ujemnych temperatur, wartość 4096 na wyświetlaczu

autoservice 07 Maj 2006 12:55 2087 6

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono problem z biblioteką Codevision do obsługi czujnika DS18B20, która nieprawidłowo wyświetla ujemne temperatury, pokazując wartość 4096 na wyświetlaczu LCD. Użytkownik stosował funkcję ds18b20_temperature zwracającą temperaturę jako float oraz różne metody odczytu surowych danych z czujnika, jednak przy temperaturach poniżej zera pojawiały się błędne wartości. Zaproponowano użycie funkcji ftoa do konwersji temperatury na łańcuch znaków oraz poprawne formatowanie wyświetlania. Ostatecznie rozwiązaniem okazało się, że odczytana wartość jest typu unsigned 16-bitowego (u2), więc aby uzyskać poprawną temperaturę ujemną, należy odjąć od wartości 4097, co pozwala prawidłowo interpretować ujemne temperatury z DS18B20.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA