作者:
sm9195 (sm9195)
2017-01-09 12:41:56各位大大好,
我想請問該如何再kernel裡定期去偵測gpio的狀態?
因為目前想透過直接控制gpio的high 與low的改變,去觸發driver做一些重載其他driver
的動作。
只是目前查到的都是需要透過userspace那邊做select或poll之類的來檢查gpio。
想請問是否有方法可以只在kernel實作?
先感謝各位的回覆。
如果有發文不恰當,也請多多包涵與指教^^
作者:
wens (æ–‡æ€)
2017-01-09 14:17:00interrupt 要 gpio 支援 interrupt, 不然就用 task / worker看看 mmc core 用 gpio 做 card detect 的做法吧
作者:
askacis (ASKA)
2017-01-09 14:25:00開一隻 kernel thread監測GPIO狀態
作者: sm9195 (sm9195) 2017-01-09 17:14:00
感謝各位提供方向,我會去試試看,再來分享結果
作者:
mayasky ( )
2017-01-10 02:06:00註冊個timer event?
作者: aweilin 2017-01-11 20:41:00
schedule_delayed_work ?定期去做pooling
作者: sm9195 (sm9195) 2017-02-22 13:52:00
感謝各位,小弟日前使用request_irq,搭配tasklet或workqueue,可成功偵測gpio的變化,然後做相對應的動作。還有,我所偵測的gpio有支援中斷。