中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中的/sys/class/gpio操作方法是什么

發布時間:2022-01-14 09:17:09 來源:億速云 閱讀:523 作者:iii 欄目:互聯網科技

這篇文章主要講解了“linux中的/sys/class/gpio操作方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux中的/sys/class/gpio操作方法是什么”吧!

下面以ZC702開發上調試為例子說明流程:

首先,看看系統中有沒有“/sys/class/gpio”這個文件夾。

如果沒有請在編譯內核的時候加入   Device Drivers  —>  GPIO Support  —>     /sys/class/gpio/… (sysfs interface)。注:本人的內核默認是選中的,不需要重新選擇

/sys/class/gpio 的使用說明:

1、gpio_operation 通過/sys/文件接口操作IO端口 GPIO到文件系統的映射;

2、控制GPIO的目錄位于/sys/class/gpio;

3、 /sys/class/gpio/export文件用于通知系統需要導出控制的GPIO引腳編號;

4、/sys/class/gpio/unexport 用于通知系統取消導出;

5、/sys/class/gpio/gpiochipX目錄保存系統中GPIO寄存器的信息,包括每個寄存器控制引腳的起始編號base,寄存器名稱,引腳總數 導出一個引腳的操作步驟;

6、首先計算此引腳編號,引腳編號 = 控制引腳的寄存器基數 + 控制引腳寄存器位數;

7、向/sys/class/gpio/export寫入此編號,比如12號引腳,在shell中可以通過以下命令實現,命令成功后生成/sys/class/gpio/gpio12目錄,如果沒有出現相應的目錄,說明此引腳不可導出:echo 12 > /sys/class/gpio/export;

8、direction文件,定義輸入輸入方向,可以通過下面命令定義為輸出;

9、echo out > direction, direction接受的參數:in, out, high, low。high/low同時設置方向為輸出,并將value設置為相應的1/0;

10、value文件是端口的數值,為1或0.echo 1 > value


下面在ZC702開發板下進行一下測試

1.取得GPIO信息,在終端中敲入以下命令:

1.1、$ cd /sys/class/gpio;

1.2、$ for i in gpiochip* ; do echo `cat $i/label`: `cat $i/base` ; done

本人用的命令是:echo `cat gpiochip906/label`: `cat gpiochip906/base`


終端中顯示如下:

zynq_gpio: 906

2.計算GPIO號碼

我們把GPE10用來控制LED。

GPIO的頭是906,10 就是906+10 = 916.

$ echo 916 > /sys/class/gpio/export

ls 一下看看有沒有 gpio916 這個目錄

3.GPIO控制測試。

控制LED所以是輸出。

所以我們應該執行:

$ echo out > /sys/class/gpio/gpio916/direction

之后就可以進行輸出設置了。

$ echo 1 > /sys/class/gpio/gpio916/value

$ echo 0 > /sys/class/gpio/gpio916/value

感謝各位的閱讀,以上就是“linux中的/sys/class/gpio操作方法是什么”的內容了,經過本文的學習后,相信大家對linux中的/sys/class/gpio操作方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蚌埠市| 邳州市| 汝南县| 新竹县| 韩城市| 邮箱| 延庆县| 介休市| 宜州市| 若羌县| 富锦市| 宜黄县| 新郑市| 晋中市| 固阳县| 华蓥市| 北川| 阿瓦提县| 万宁市| 宁强县| 马鞍山市| 高台县| 平和县| 安塞县| 武邑县| 蓬安县| 尉氏县| 那曲县| 弥渡县| 和政县| 即墨市| 台州市| 高平市| 剑河县| 泰和县| 开鲁县| 荆门市| 宜兰市| 泰安市| 札达县| 彭州市|