Android加速度计毫秒还是微秒?

时间:2011-04-25 05:13:54

标签: java android accelerometer sensor android-sensors

所以我使用HTC EVO获得加速度计数据。我及时得到这样的价值。

967454610000 967534902000 967613576000 967692434000

这些值之间的差异大约为80,000,000。  文件说:  “该值必须是SENSOR_DELAY_NORMAL,SENSOR_DELAY_UI,SENSOR_DELAY_GAME或SENSOR_DELAY_FASTEST之一。或者<事件之间所需的延迟微秒。”

所以我使用的是SENSOR_DELAY_UI,我认为时间是微秒。这没有意义,因为这意味着每个时间间隔大约是80秒。如果它们以纳秒为单位意味着时间间隔约为0.08秒或每秒捕获12个数据,那将更有意义。但那会与文件相矛盾。有谁知道时间间隔是什么?

非常感谢!

2 个答案:

答案 0 :(得分:5)

  

所以我得到了加速度计数据   使用HTC EVO。我得到这样的价值观   时间。

     

967454610000 967534902000 967613576000   967692434000

这些值是否来自timestamp member of a SensorEvent instance?如果是这样,根据文档,这些时间是纳秒。所以延迟不是大约80,000,000微秒,它实际上是大约80,000微秒,或0.08秒,给出每秒12.5个事件的频率。

答案 1 :(得分:1)

Android UI的传感器延迟为60,000微秒。 这是0.06秒,因此频率是16Hz。 同样对于GAME,延迟是20,000微秒(50赫兹)。

指定一个微秒(40,000)的延迟常数应该给我们25Hz,但它不会。根据文档,这只是提示最小延迟,传感器管理器将提供更快的值。根据我的实验,指定40,000微秒可以得到50Hz的频率。