我使用的传感器的公式是:
%RH = (125 * rhData / 65536) - 6
我见过的例程是:
*rhData = ( (uint32_t) readData[0] << 8 ) + ( readData[1] & 0xfc );
*rhData = ( ( ( *rhData ) * 15625L ) >> 13 ) - 6000;
我看不出两者是一样的,有人可以解释它是如何起作用的吗?
你的Simon M。
答案 0 :(得分:0)
看起来像是带有比例1000的定点格式。然后表示结果的整数是
RH*1000 = 5^3 * rhData / 2^16 * 2^3*5^3
= 5^6 * rhData / 2^13
= (15625 * rhData) >> 13
这正是公式中使用的内容。
答案 1 :(得分:0)
这是一个大脑褪色的日子! 乘以125 * 1000,然后除以2以找到最小整数。 (15625)
扔给我的是125 ^ 2 = 15625
由于
你的Simon M。