2017-04-14 21 views
0

我有一個基於andriod的設備,它上面有一個物理按鈕,它的狀態可以通過這個文件讀取:/sys/class/gpio/gpio8/value帶1或0(「設備文件「?這種文件有沒有特殊的詞?)。實時手錶/ dev文件尾巴-f fashon

我想知道是否有辦法看這個文件,但沒有輪詢。我知道我可以用一個非常小的間隔來做watch,但是對我來說這似乎是一種不好的做法/必須有另一種方式。

然後下一步將是確定如何管道到Android應用程序。

還值得一提的是,我不相信這些按鈕都融入了Android傳感器API/lib中,否則,我只想使用

我正在尋找如何進行的一些方向。當按鈕被按下並且電路完成時,是否真的沒有辦法真正觀察按鈕狀態,沒有事件被推送到操作系統,操作系統本身必須輪詢。

謝謝!

回答

1

如果GPIO驅動程序通過sysfs_notify()機制支持可輪詢屬性,則可以在程序中使用poll()以等待狀態更改。我只知道如何檢查這個問題的兩種方法:a)讀取驅動程序的源代碼,b)進行測試,看看它是否適用於您。

Some upcoming sysfs enhancements