0

次のテーブルをc#の値に変換しようとしています。

私は次のような2バイトの配列を持っています

byte[] data = new byte[2];

data [ 0 ] = 0x00;
data [ 1 ] = 0xc9;

下のチャートをac#メソッドに変換する方法はありますか?

フォーマットはDS2438スマートバッテリーモニターIC用です-http: //datasheets.maxim-ic.com/en/ds/DS2438.pdf

注:下位3ビットは常に0であるため、数式の一部として除外しないでください。

この値に0.03125を掛けて、最終温度を算出します。

したがって、適切なケースは0xc900であり、これは-1760または-1760 * 0.03125=-55Cに相当します。

ここに画像の説明を入力してください

どんな助けでも大歓迎です。

4

1 に答える 1

5

ただのよう(float)(sbyte)data[1] + (float)data[0] / 256です。

16ビットではなく13ビットであるかどうかは関係ありません。ダラスは物事をビットシフトして、8.8の固定小数点表現を作成したからです。センサーの解像度が高い場合は、それらの下位ビットが使用されますが、計算はまったく同じです。

于 2012-08-28T04:20:29.600 に答える