Witam.
Mêczê mój pierwszy program w C i utknê³em przy DS18B20 a nie mogê znale¼æ w sieci jakich¶ przyk³adów. Odczytujê temp. w 12 bitach do tablicy 2 bajtowej ale chcia³bym mieæ wy¶wietlan± na LCD warto¶æ z dok³adno¶ci± do 1 miejsca po przecinku. Najpierw wpisan± warto¶æ w tabele Bd[n] sprawdzam czy jest temp ujemna:
n= Bd[1] ;MSB byte (w Bd[0] mam LSB) n >> 4 ; przesuwam w prawo if (n==0x0F).... jesli tak to jest minus, je¶li nie to plus; proste o ile w najstarsze wpisze siê 0 przy przesuwaniu ;-)
ok.. teraz reszta to 4 najm³odsze bity z temp po przecinku w Bd[0] i dalej 8 bitów liczby ca³kowitej. I jako¶ mnie tak zamroczy³o jak napisaæ kod aby uzyskaæ do wy¶wietlenia temperaturkê z jednym miejscem po przecinku. Te 4 bity to jakie¶ dziwne, bo 0001 odpowiada 0.0625 stopnia, 0010 to 2x
0.0625 itd... czyli najpierw trzeba przemno¿yæ a potem zaokr±gliæ Ta temperatura mnie dobija ;-)
Pozdrawiam.