如果他的问题已经以某种方式提出,我很抱歉。
我目前正在Linux内核中重写振动驱动程序。我改变它的原因是由于获得振动电机的特定速度引起的过强振动。为了解决这个问题,我已经实现了一个类似控制器的PWM,它只是在达到最大加速度之前的某个特定时刻停止电机,最后它不断重复这个动作。
使用键盘时,有一个主要问题是主要问题。如果振动器在非常短的时间内经常切换,则计时器会累积时间,导致滞后和振动延迟。当一次键入多个键时,可以很容易地实现这个缺陷。
为了直观地向您展示这个事件,我创建了一个小图。
红色区域表示计时器重叠。振动1和2之间的重叠导致第二次振动的延迟,将其移出原位。
我防止这个问题的主要想法是,如果之前的振动尚未完成,将振动合并为一个。例如,振动2将简单地连接振动1。
另一种方法是简单地使用单个振动进行堆叠振动,例如,振动2可以简单地使用最后剩余的振动1.为什么这会起作用?好吧,因为我实施的振动控制器仅适用于100毫秒以下的时间,这意味着如果一个人一次发送垃圾邮件就会发现振动时间差异不明显,而是两个击键应该形成并共享单个振动。
最后在我的问题中,我怎么能让一个函数检查它再次被调用它。或者至少为函数添加一个时间来检查键击是否在短时间内被多次发送垃圾邮件?
答案 0 :(得分:0)
mouse