0

我目前正在从事可见光通信项目,需要一些帮助来编程快速闪烁 (>200Hz) LED 手电筒。我的设备是HUAWEI CUN-L21,固件为B115,也已经root了。

我已经使用 Android SDK 编写了一个应用程序,该应用程序使用Thread.sleep(delay). 问题是,即使我将延迟设置为几毫秒,最大值。我得到的频率大约是 35Hz,这太低了。

我还尝试通过 shell 中的计时器触发器快速闪烁它。但是频率也太低了。

所以这是我的问题:有没有其他方法可以让 LED 以 200 Hz 的频率闪烁?我是否必须在内核空间中修改 LED 驱动程序?如果是这样,我该怎么做?

4

1 回答 1

0

我设法通过 shell 中的计时器触发器使 LED 闪烁,其中 delay_on = 1ms 和 delay_off = 1 ms。所以理论上频率必须是500赫兹。但不知何故,LED 不会一直闪烁。在下图中,可以看到,10 毫秒后 LED 停止闪烁。对我来说,它看起来像是某种 PWM。

闪烁频率的测量

因此 LED 能够以 delay_on = delay_off = 1ms 闪烁。但是有没有办法让这款智能手机的 LED 以这个频率闪烁更长的时间呢?为什么它在 10 毫秒后停止。是否有某种限制,比内核空间中的 LED 驱动器更深?

于 2017-07-26T13:49:37.533 回答