请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMP006
您好!
我已从以下主题下载示例源 tmp006.zip:
e2e.ti.com/support/sensor/temperature_sensors/f/243/t/251827
在第130行的 TMP006FixedPoint.c 文件中、有以下表达式:
fvout =((C2 *(fvout * fvout)>> 31)>> 12)+(fvout >> 5);
这一行代码的执行方式取决于编译器、需要额外的括号来指定操作数的正确执行顺序。
我不确定它是否为:
fvout =((((C2 *(fvout * fvout))>> 31)>> 12)+(fvout >> 5);
或:
fvout =(((C2 *((fvout * fvout)>> 31))>> 12)+(fvout >> 5);
换句话说、我不确定是先移位四分频输出、然后乘以 C2、还是先与 C2进行多频运算、结果应移位。
尝试这两种变体会产生非常相似的结果、因此我在此请求帮助。
提前感谢您。