我正在寫驅動程序來控制GPIO引腳。我已經確定了JP4連接器並在gpio91上添加了一個LED(JP4.06
=>/sys/class/gpio/gpio91
)。閱讀了很多教程後,我編寫了一個簡單的內核模塊。該模塊接收來自用戶空間的輸入並基於輸入我設置gpio,如gpio_set_value(91,true)
。在致電gpio_set_value
之前,我打電話給另一個功能,即gpio_direction_output
。因此導致發光。另一方面,當我從用戶空間獲得其他命令以獲取PIN的狀態(爲此,我依靠gpio_get_value(91)
併爲此也設置了輸入方向),但在這裏我沒有得到適當的價值。在imx6 wandboard quad上讀取GPIO
我是否錯過了獲得理想值的步驟?我應該如何嘗試這樣做?
的第一件事,檢查拉起對於這樣的問題:1.您的模塊(GPIO)是否啓用了時鐘? 2.您正在使用的引腳是否混合到GPIO(而不是其他模塊)?首先檢查您的設備樹文件以查找引腳複用器。 –
此外,一定要調用'gpio_request()'(在調用任何其他GPIO特定功能之前)並檢查'dmesg'輸出:其他人已經使用您的GPIO的機會。 'gpio_request()'會幫助你調試。 –
另外,請向我們提供您正在使用的內核版本以及它是否爲您的設備使用主板文件或設備樹。如果有鏈接到你的內核的git repo也是很好的。 –