国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

落風的個人空間 http://www.4huy16.com/space-uid-138363.html [收藏] [復制] [RSS]

博客

迅為-iMX6開發板-設備樹內核-sys方式控制GPIO

已有 669 次閱讀2020-11-11 12:01

本文檔主要講解,iMX6 開發板,通過 sys 文件的方式來控制 GPIO。
要通過 sys 控制 GPIO,需要做以下幾步操作:
1 開啟內核中的“GPIO_SYSFS”驅動配置;
2 確保 IO 被配置為 GPIO,并且沒有驅動調用;
3 計算 GPIO 編號,通過命令或者腳本操作 GPIO。
1 GPIO_SYSFS 配置
如下圖所示,可以看到內核中 GPIO_SYSFS 是默認配置的,這個驅動所有原廠 BSP 基本都會包含,一般情況下是默認配置的。

2 確保 IO 被配置為 GPIO,并且沒有驅動調用
這里以 LED 的 GPIO 為例, 將 LED 的驅動去掉,確保沒有驅動調用。
Device Drivers --->
Character devices --->
Enable LEDS config ---去掉,并重新編譯內核燒寫到開發板中。
如下圖所示配置 menuconfig。

燒寫到開發板中,確保沒有 led 的設備節點,默認的內核中是有 led 設備節點的,如下圖所示。

GPIO 的配置這里就不再重復介紹,在“iTOP-iMX6-設備樹內核-IO 配置分析文檔_V1.0”中有介紹。
3 計算 GPIO 編號并測試
LED 的網絡標號為:KEY_ROW6
LED 對應 GPIO 的 PIN 腳名稱為:GPIO_2
GPIO_2 對應的宏定義為:#define MX6QDL_PAD_GPIO_2__GPIO1_IO02
那么 GPIO_2 對應的 GPIO 的 bank[n]為 GPIO1_IO02,也就是 bank 1 的 02 號 GPIO。
GPIO 的編號計算方法為:nr=(P -1)* 32 + N;
nr 為編號,P 為 bank 號,N 為具體 bank 中的編號。
那么 P=1,N=2,通過計算得出 nr=2。
測試命令為:
echo nr > /sys/class/gpio/export
echo out > /sys/class/gpio/gpionr/direction
echo 1 > /sys/class/gpio/gpionr/value ---> 寫高電平,小燈亮
echo 0 > /sys/class/gpio/gpionr/value ---> 寫低電平,小燈滅
以上 nr 替換成 GPIO 的編號,則命令為:
echo 2 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio2/direction
echo 1 > /sys/class/gpio/gpio2/value --->寫高電平,小燈亮
echo 0 > /sys/class/gpio/gpio2/value ---> 寫低電平,小燈滅
如下圖所示,執行三條命令之后小燈亮。

接著執行 echo 0 > /sys/class/gpio/gpio2/value 小燈滅。
至此,sys 測試 gpio 完成。
另外需要注意的是,本文檔沒有介紹 LED 對應的管腳是如何配置的,因為 LED 驅動能夠運行,那么肯定在設備樹文件中配置了。
如果想要掌握如何配置管腳,可以參考“iTOP-iMX6-設備樹內核-IO 配置分析文檔_V1.X”和“iTOP-iMX6-設備樹內核-IO 擴展例程_V1.X”文檔。


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
返回頂部