按钮点击的低延迟捕获

时间:2011-01-23 00:24:28

标签: c++ controls hardware interrupt signals

我想要一个物理按钮(不是软件按钮),我将其放入我的自定义装备中。当我点击这个按钮时,我希望在我的软件中收到一个信号,例如通过注册我的回调函数。

目标是拥有一个物理按钮面板,单击该按钮将在软件中执行某些任务。中断(缺少更好的词)应尽可能低延迟。

到目前为止我看过的内容:

  • Arduino:使用通过RS232连接的Arduino板,手动进行必要的焊接,将RadioShack上的按钮挂钩。 (我的技能/时间可用性太多硬件工作)
  • 一个Android应用程序:不是真正的单击硬按钮,但它是一个硬件。 Android应用程序将通过蓝牙与我的计算机进行通信。 (我怀疑延迟是好的。但我希望被证明是错误的。)

非常感谢跨平台解决方案。

  • 目标平台:64位Linux和 Windows(按此顺序)
  • 语言: C ++

知道我应该考虑什么类型的连接/设备来实现这个目标?

2 个答案:

答案 0 :(得分:3)

您可以使用设备驱动程序开发工具包编写hardware interrupt handling object

连接明智 - 最简单的方法是一个并行端口 - 理想情况下是卡上的真实端口而不是USB适配器,否则就像一个arduino通过USB链接通过串行端口与PC通信最简单。

编辑 - 对于50个按钮,您需要某种键盘矩阵处理以及到PC的链接。去ardunio。有一个演示应用程序,从Arduino的USB电缆读取值作为串行端口/

答案 1 :(得分:1)

这个怎么样?

http://www.orin.com/access/swifty/

  

小小的weeny大小。巨大的可能性。 Swifty是一款高速USB开关接口,采用极其紧凑的设计。通过最多两个有线开关或三个无线通过Beam™,这个小巧的动力室可以输出鼠标点击,操纵杆按钮或键盘功能。

如果您的装备没有使用,也可以自定义旧的串口或USB鼠标。或者即使它确实如此:)