ds18b20 (problem z ujemna temperatura)



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?Maciej_TYWO=D1CZUK?= <mt24066_at_nospam_sgh.waw.pl>
Subject: ds18b20 (problem z ujemna temperatura)
Date: Mon, 3 May 2004 01:03:08 +0200


Witam,
nie moge zrozumiec jak przeliczana jest ujemna temperatura
w ds18b20, oto dane z pdf'a:
bit0 - 2^-4
bit1 - 2^-3
bit2 - 2^-2
bit3 - 2^-1
bit4 - 2^0
bit5 - 2^1
bit6 - 2^2
bit7 - 2^3
bit8 - 2^4
bit9 - 2^5
bit10 - 2^6
bit11-15 - S (S - znak; 0="+", 1="-")

dane przykladowe z pdf'a
-0,5oC - 1111 1111 1111 1000 ->OK
-10.125 - 1111 1111 0101 1110 ->czesc dziesietna ok, ale czy po
przecinku nie powinno byc .0625 (bit0-3->inwersja->0001)?
-25.0625 - 1111 1110 1001 1111 -> czesc dziesietna ok, ale czy po
przecinku nie powinno byc .0 (bit0-3->inwersja->0000)?
-55 - 1111 1100 1001 0000 -> czesc dziesietna rowna 54
(bit4-10->inwersja->0011 0110), a po przecinku 0.9375?

Gdzie popelniam blad?
Z gory dziekuje za informacje!
Maciek


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "non" <non_at_nospam_interia.pl>
Subject: Re: ds18b20 (problem z ujemna temperatura)
Date: Mon, 3 May 2004 01:43:01 +0200



Z tego co pamietam wg. zapisu U2 (zapis liczb ujemnych) musisz
najpierw bajt zanegowac a nastepnie do otrzymanej wartosci dodac 1
.... i wszystko sie zgadza:)
non_at_nospam_interia.pl



========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: ds18b20 (problem z ujemna temperatura)
Date: Tue, 04 May 2004 02:23:27 +0200


On Mon, 3 May 2004 01:03:08 +0200, Maciej TYWOŃCZUK wrote:
Witam,
nie moge zrozumiec jak przeliczana jest ujemna temperatura
w ds18b20, oto dane z pdf'a:
bit0 - 2^-4
bit1 - 2^-3
bit2 - 2^-2
bit3 - 2^-1
bit4 - 2^0 [..]
bit10 - 2^6
bit11-15 - S (S - znak; 0="+", 1="-")

dane przykladowe z pdf'a
-10.125 - 1111 1111 0101 1110 ->czesc dziesietna ok, ale czy po
przecinku nie powinno byc .0625 (bit0-3->inwersja->0001)?

Uzupelnienie do dwoch - czyli liczby ujemne zapisujemy liczba ktora
dodana do wartosci dodatniej da 1000 0000 0000 0000.

czyli tu uzupelnieniem jest
0000 0000 1010 0010 = 10.125

-25.0625 - 1111 1110 1001 1111 -> czesc dziesietna ok, ale czy po
przecinku nie powinno byc .0 (bit0-3->inwersja->0000)?
0000 0001 0110 0001 = 26.0625 ... hm, 26

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.icpnet.pl!topaz.icpnet.pl!not-for-mai