温度转换 - 2的补码 - 13位

Chr*_*ris 0 c# temperature

我没有时间尝试将下面的表转换为c#中的有价值的东西.

我有一个2字节的数组,如

byte[] data = new byte[2];

data [ 0 ] = 0x00;
data [ 1 ] = 0xc9;
Run Code Online (Sandbox Code Playgroud)

anyhone是否有方法将下面的图表转换为ac#方法?

格式适用于DS2438智能电池监控IC - http://datasheets.maxim-ic.com/en/ds/DS2438.pdf

注意:底部3位始终为0,因此不应该是公式的一部分并排除.

该值乘以0.03125以产生最终温度.

所以这个例子就是0xc900,相当于-1760或-1760*0.03125 = -55C

在此输入图像描述

任何帮助表示赞赏.

hob*_*bbs 5

看起来就是这样(float)(sbyte)data[1] + (float)data[0] / 256.

这并不重要,它是13位,而不是16位; 因为达拉斯的位移使得一个漂亮的8.8定点表示.如果您的传感器具有更高的分辨率,那么将使用那些低位,但数学仍然完全相同.