作者sm9195 (sm9195)
看板LinuxDev
標題如何在kernel裡定期偵測gpio狀態?
時間Mon Jan 9 12:41:56 2017
各位大大好,
我想請問該如何再kernel裡定期去偵測gpio的狀態?
因為目前想透過直接控制gpio的high 與low的改變,去觸發driver做一些重載其他driver
的動作。
只是目前查到的都是需要透過userspace那邊做select或poll之類的來檢查gpio。
想請問是否有方法可以只在kernel實作?
先感謝各位的回覆。
如果有發文不恰當,也請多多包涵與指教^^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.5.164
※ 文章網址: https://webptt.com/m.aspx?n=bbs/LinuxDev/M.1483936919.A.2BA.html
1F:推 james732: 做成interrupt會不會比較好? 01/09 13:08
2F:→ wens: interrupt 要 gpio 支援 interrupt, 不然就用 task / worker 01/09 14:17
3F:→ wens: 看看 mmc core 用 gpio 做 card detect 的做法吧 01/09 14:17
4F:推 askacis: 開一隻 kernel thread監測GPIO狀態 01/09 14:25
5F:→ sm9195: 感謝各位提供方向,我會去試試看,再來分享結果 01/09 17:14
6F:→ mayasky: 註冊個timer event? 01/10 02:06
7F:→ aweilin: schedule_delayed_work ?定期去做pooling 01/11 20:41
8F:推 clampsakura: Interrupt + SIGIO 01/14 02:22
10F:→ sm9195: 感謝各位,小弟日前使用request_irq,搭配tasklet或workqu 02/22 13:52
11F:→ sm9195: eue,可成功偵測gpio的變化,然後做相對應的動作。還有, 02/22 13:52
12F:→ sm9195: 我所偵測的gpio有支援中斷。 02/22 13:52