按钮点击的低延迟捕获

Dat*_*Chu 5 c++ hardware controls signals interrupt

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

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

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

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

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

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

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

Mar*_*ett 3

您可以使用设备驱动程序开发套件来编写硬件中断处理对象

连接方面 - 最简单的方法是并行端口 - 理想情况下是卡上的真正并行端口,而不是 USB 适配器,否则像 arduino 这样与 PC 通信的东西作为通过 USB 链路的串行端口是最简单的。

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