C / C ++在Linux下如何与gpio一起使用?

在Linux下如何select使用gpio?

有可能使用select来创build一种中断驱动的程序,也许在一些线程的帮助下?

当我使用select呼叫时,我该怎么考虑?

谢谢


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

  • 男人3posixselect
  • 男人2select
  • 男人2 select_tut

更新 :gpio暴露在sysfs gpio块中。 但我不知道是否可以使用select。

显然你可以在通过sysfs公开的GPIO上使用select(),但只有在它可以被配置为产生一个中断的时候。 你的平台可能有或没有。

你要读的是内核源码中的Documentation / gpio.txt,如果内核驱动程序允许的话,它会提到如何为引脚启用中断。

应该可以编写多线程程序来查找中断,并在发生中断时执行某些操作。 这个博客强调了当你遇到选择的限制时可以做些什么。 我没有和GPIO一起工作,但是从我读到的内容来看,GPIO不应该和上面提到的博客中讨论的电话/网卡有很大不同。