C / C ++如何选择在Linux下使用gpio?

时间:2011-03-29 21:05:07

标签: c++ c linux select gpio

如何选择在Linux下使用gpio?

是否可以使用select创建一种中断驱动程序, 也许在一些线程的帮助下?

当我使用select call时我会怎么想?

由于


注意: 我已经阅读了关于select的手册页,但我想我需要更多关于这个主题的帮助。

  • man 3posix select
  • man 2选择
  • man 2 select_tut

更新:gpio在sysfs gpio块中公开。但我不知道我是否可以选择使用它。

2 个答案:

答案 0 :(得分:4)

显然,您可以在通过sysfs公开的GPIO上使用select(),但前提是它可以配置为生成中断。您的平台可能有这个与否。

您要阅读的内容是您的内核源代码中的Documentation / gpio.txt,其中提到了如果内核驱动程序允许的话,如何为引脚启用中断。

答案 1 :(得分:1)

应该可以编写多线程程序来查找中断并在发生时执行某些操作。 This blog强调了当你达到select的限制时可以做些什么。我没有使用GPIO,但从我读到的内容来看,GPIO与上面提到的博客中讨论的电话/网卡不应该有太大差别。