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

它是 13 位而不是 16 位没关系;因为 Dallas 对事物进行了位移,以制作一个不错的 8.8 定点表示。如果您的传感器具有更高的分辨率,那么将使用那些低位,但数学仍然完全相同。

于 2012-08-28T04:20:29.600 回答