0

我正在开发一个应用程序,它将使用磁力计数据进行交互,通过将磁铁移向和远离手机。这很好用(足够了),但似乎当我将磁铁移得太靠近手机时,会出现明显的延迟,并且这些消息会被吐出到日志中:

Tag Message AK8973 HRET = AKSC_HOF_DSS_START AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_COMPLETE

这也可以在市场上可用的应用程序“Compass 3D”中得到证明。移动耳机与手机直接接触就足够了,它会产生至少 4-500 毫秒的延迟,并将上面的消息打印到 Logcat。这是在我的 HTC Hero 上。

关于导致这种滞后的原因或如何解决它的任何想法?其他手机型号也会出现这种情况吗?

所有想法和/或理论都会有所帮助!

4

1 回答 1

0

好吧,AK8973 是磁力计:

AK8973 - 3 轴电子罗盘 - Asahi Kasei Microsystems

看起来它在抱怨强场,也许开始了校准程序?

我在代码中注意到这个定义:

#define AK8973B_PERIOD 500000000 //0.5 秒

于 2010-11-10T12:39:55.867 回答