关于 Zolertia Z1 的 Contiki OS - phidget 和电池传感器的激活冲突?

Contiki OS on Zolertia Z1 - Conflicting activation of phidget and battery sensors?

我建了一个小game controller for the Z1。 我有一个从操纵杆传感器读取值的过程。它工作正常。

然后,我添加了第二个进程,每5分钟读取一次电池传感器的值。但它使操纵杆停止工作:该值不再更新!

我找到了一个解决方法:当我必须读取电池值时,我停用 phidget_sensor,激活 battery_sensor,读取值然后停用 battery_sensor 并重新激活 phidget_sensor.

但我想知道为什么我不能同时激活两个传感器?

谢谢

来自Here.

A​​DC 是 "analogue to digital converter",基本上是为您提供模拟传感器的电压信号电平的组件,因此稍后可用于转换为有意义的值。

发生的事情是电池传感器驱动程序和 phidget 驱动程序各自在启动时自行配置 ADC,从而覆盖 ADC 配置。

这两个组件的预期用途实际上就是您实际使用的方式:启用、测量,然后禁用。这样您就可以确保 ADC 始终按照您的应用程序期望的方式进行配置。如果您想在一次操作中完成此操作,那么恐怕您可能需要修改 phidget 驱动程序并包含它。

我希望这是您所期望的答案,因为您正在问为什么会这样。