我目前正在从事可见光通信项目,需要一些帮助来编程一个快速闪烁(>200赫兹)的LED手电筒。我的设备是带有固件B115的华为CUN-L21,它也是根基的。
我已经使用Android SDK编写了一个应用程序,使用Thread.sleep(delay)打开和关闭手电筒的时间有一个特定的延迟。问题是,即使我将延迟设置为几毫秒,最大。我得到的频率大约是35赫兹,太低了。
我还试着通过shell中的定时器触发器快速闪烁。但是频率也太低了。
所以我的问题是:有没有其他方法可以让LED以200赫兹的频率闪烁?我必须修改内核空间中的LED驱动器吗?如果是这样的话,我该怎么做呢?
发布于 2017-07-26 21:49:38
我设法通过外壳中的定时器触发器闪烁发光二极管,delay_on = 1ms,delay_off =1ms。所以理论上频率必须是500赫兹。但不知何故,LED并不是一直闪烁的。在下图中,可以看到,在10毫秒后,LED停止闪烁。对我来说,它看起来像是某种脉宽调制。
Measurement of the blinking frequency
因此,当delay_on = delay_off = 1ms时,发光二极管能够闪烁。但是,有没有办法让这款智能手机的LED以这种频率闪烁更长时间呢?为什么会在10毫秒后停止。是否存在某种限制,比内核空间中的LED驱动器更深?
https://stackoverflow.com/questions/45210337
复制相似问题