1

我正在从光传感器收集数据一段时间:

mSensorManager.registerListener(this, lightSensor, SensorManager.SENSOR_DELAY_FASTEST);

问题是收集的值并不总是准确和频繁的。“不准确”是指如果我在某个时间启动传感器,第一次读数有时会是我开始收集数据之前很久以前的读数。

此外,由于延迟被声明为SensorManager.SENSOR_DELAY_FASTEST,我得到了很多值,有时我在一秒钟内得到 100 条记录,有时我什至在三秒钟内没有得到一个读数。

有人可以解释这个问题可能是什么,如果有任何解决方案吗?

4

2 回答 2

1

我相信这是因为这些光传感器仅在光线发生变化时才发送数据。因此,如果光线水平没有变化,您将不会获得任何读数,但如果您在它面前挥动手或慢慢打开调光器开关,您将获得 100 多个读数。

于 2013-06-24T00:03:55.703 回答
0

这可能是传感器属性。我相信它包含一个内部缓冲区 FIFO,它解释了为什么您将第一次读取作为您已经完成的旧读取。此内部缓冲区的功能是保存有限数量的扫描或读数,等待用户将其拉出。如果可以,请在每次读取之前尝试重置传感器的 FIFO。

于 2019-05-14T14:42:49.103 回答