如何将无符号的诊断仪数据转换为度数

时间:2019-02-09 16:27:15

标签: c embedded vhdl 360-degrees

我知道Web上不同的论坛中都有很多主题,我了解atan和atan2之间的区别以及如何使用签名数据解决此问题。

我正在使用耐心的CMPS2模块,该模块使用Memsic MMC34160PJ磁力计。 在芯片CMPS2的数据表中,有一个公式为actan(x / y)* 180 / pi 很明显,我只能得到0到90度之间的值,因为传感器只能提供 unsigned 值。 当我使用atan2时,我得到的值介于0到180度之间。

我知道如果我签名了数据会更容易。但不幸的是,传感器仅提供未签名的值。

怎么可能将无符号的测高仪数据转换为0到360度?

1 个答案:

答案 0 :(得分:3)

我自己没有使用过特定的磁力计,但是有很多传感器以类似的方式工作。

磁力计datasheet(第2页)指出“空磁场输出”值(即无磁场时的输出)不为零。

比方说,您使用14位分辨率模式,空字段输出值为8192。这意味着8192是零值的参考点,该值以上的所有内容均为正,而该值以下的所有内容均为负。您应该从每次测量中减去此空字段值,然后就可以开始使用了。