用c++处理GPIO Button事件
Handle GPIO Button event with C++
大家好,我需要一些帮助。我正在做一个c++嵌入式应用程序在ARM。我需要得到一个按钮事件,我在互联网上寻找,我发现最好的方法是中断。我知道我可以像这样通过终端设置一个引脚"echo raise>/sys/…/gpio/gpio81/edge"。但是我需要知道如何从我的c++应用程序中获得中断,当它发生时,我只需要一些例子,因为我不知道我是否必须使用一些特殊的库。
谢谢你们,我希望有人能帮助我。
手动'机械'按钮需要打开。这一点,以及按下按钮不需要高I/O性能的事实,意味着GPIO中断是一种尴尬的过度杀伤。当然,这是可以做到的,但是用定时器中断轮询GPIO端口更容易和更安全,存储输入的状态并与以前的状态/s进行比较。如果GPIO线在足够数量的样本中改变了状态,您就有了按钮事件并可以对其进行操作。
如果你使用的是一个任务操作系统,你可以挂钩现有的定时器中断-它只有几个指令来处理GPIO轮询,所以你不应该看到任何明显的性能影响。如果确定按钮已经按下/释放,您可以发出一个信号量,以便等待的线程可以快速处理该事件。
大家好,我找到了我想要的解决方案:
https://developer.ridgerun.com/wiki/index.php/Gpio-int-test.cThank you anyway
相关文章:
- Android NDK传感器向事件队列报告奇怪的间隔
- 从文本文件中读取时钟时间和事件时间并进行处理
- WMI检测进程创建事件-c++
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 处理闪烁窗口事件
- C++Builder中的OnClick事件签名存在问题
- 跟踪滚动条上的鼠标事件
- 什么是事件表 (wxWidgets)?
- 如何在 MFCaptureEngine 中获取"Camera removed"事件
- 给定顺序中的事件处理
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 在 C++/CLI 中将 .NET 事件从一个 DLL 引发到另一个 DLL
- 如何创建事件驱动的 SDL2 应用程序
- Windows 进程间同步类似事件?
- 如何从C++端挂接到 QML 项的 onClick 事件
- 如何通过多类"Union variable" (sfml) 使用轮询事件
- 如何在Qt 4.8中阻止/忽略/丢弃早于特定超时的用户输入事件
- 如何调用创建.ui设计表单在Qt与button.clicked()事件
- 用c++处理GPIO Button事件