2016-12-09 23 views
1

私はdht11センサーを使用しています。最初の8ビットは湿度の積分であり、8ビットは湿度の小数点以下です。次の8ビットは温度の積分であり、その後に温度の8ビットの小数が続く。最後に8ビットのチェックサムがあります。dht11センサーの小数に使用される形式は何ですか?

私はいくつかのデータシートを読みましたが、小数の読み方に関する情報は見つかりませんでした。

単純な固定小数点8ビット小数点の場合は誰でも知っていますか、それとも別の方法で行う必要がありますか?

任意の助けをdht11データシートから

+0

はい、彼らは単語「小数」を使用します。それは私に誤解を招く、私は '分数'と言うだろう... Btwそれはスケールが適用されないようだので、物理的な値を得るために2^8で16ビットの値(高 - 低バイト)を除算する必要があります。 – omegatre

+0

sry私は本当にあなたに従うことができません。私は、最初の8ビットが整数値であり、次の8ビットが小数点の値であることを期待しています。したがって、数字は 2.5となります0000 0010 1000 0000 最初の8ビットは積分され、最後の8ビットは単なる固定小数点です。私はなぜそれを2^8で割り切っていいのかわかりません。 – Kev1n91

+0

あなたの例から:0000 0010 1000 0000 = 640小数、640/256 = 2.5小数 – omegatre

答えて

2

を理解され、湿度および温度のための正の値のみを戻すことができるので、何ビットは符号のために予約しません。 これはQ8.8固定小数点表現です(https://en.wikipedia.org/wiki/Q_(number_format)も参照)。 表現から物理値に変換するには、2^8で除算する必要があります.8は小数点以下の桁数です。 したがって、例:

0000 0010 1000 0000 = 640 decimal 
640/256 = 2.5 decimal 
関連する問題