国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

iTOP3399開發板GPIO子系統-應用層控制GPIO

發布時間:2021-5-18 10:39    發布者:落風
GPIO 是比較常用的資源,比如說控制 LED 燈亮滅,控制 LCD 上電,控制模塊的復位電路,做外設的中斷腳等等,這些都有對 GPIO 的操作和使用,所以說,GPIO 開發是驅動開發中必不可少的操作,而且也是最基礎的東西。我們在驅動開發過程中,有時候我們不能確定自己使用和申請的 gpio 是否對了,我們可以把它對應的數值給打印出來,通過對比對應的數值可以確定我們具體使用的是哪個數值,輸入以下命令:
cat /d/pinctrl/pinctrl/pinmux-pins
cat /sys/kernel/debug/gpio
Linux 系統中,GPIO 子系統大致分為三層,分別是 GPIO 硬件層,GPIO 硬件驅動層,抽象的驅動框架。

應用層控制 GPIO
內核已經自帶了通用 GPIO 驅動,可以直接在用戶空間進行操作,iTOP-3399 開發板燒寫 Linux 系統,啟動后可以進入到/sys/class/gpio 目錄下進行查看 GPIO 的相關信息,如下圖所示:

/sys/class/gpio/sys/class/gpio/export 用于通知系統需要導出控制的 GPIO 引腳編號/sys/class/gpio/unexport 用于通知系統取消導出。export 和 unexport,他們都是只寫的。
/sys/class/gpio/gpiochipX 目錄下保存系統中 GPIO 寄存器的信息,包括每個寄存器控制引腳的起始編號base,寄存器名稱,引腳總數。比如我們進入到 gpiochip128,如下圖所示:

導出一個引腳的步驟:
1 計算此引腳編號,引腳編號=控制寄存器的寄存器基數+控制引腳寄存器位數。在 rk3399 中,GPIO_number的計算方法為:n*32 + (K-A)*8 + x;
比如 GPIO1_B1 = 1 * 32 + (B-A)*8 + 1 = 32 + 8 + 1 = 41;
GPIO1_B2 = 1 * 32 + (B-A)*8 + 2 = 32 + 8 + 2 = 42;
GPIO0_A3= 0 * 32 + (A-A)*8 + 3 = 0 + 0 + 3 = 3
括號里面的 A、B、C、D 分別代表數值 0、1、2、3,在計算時候分別對應即可。
2 向/sys/class/gpio/export 寫入此編號,比如引腳編號是 3,在 shell 中可以通過以下命令實現,命令成功后生成/sys/class/gpio/gpio3 目錄,如果沒有出現相應的目錄,說明此引腳不可導出:
echo 3 > /sys/class/gpio/export
如果在執行第一步的時候即 echo 3 > /sys/class/gpio/export 時出現了以下問題:
sh: write error: Device or resource busy
出現這個問題的原因是你將要使用的這個 gpio 口之前已經申請過了,包括內核申請或者使用上述方法申請過。unexport:釋放相應的 GPIO,相應的節點會被刪掉,如下所示:
echo 3 > /sys/class/gpio/unexport
3 direction 文件,定義輸入輸出方向,可以通過下面的命令定義為輸出,如下圖所示:

注意:direction 接受的參數:in(輸入), out(輸出), high, low。high/low 同時設置方向為輸出,并將 value設置為相應的 1(高電平)或 0(低電平)。
4 edge 文件可以監聽對應引腳的事件,需要把 direction 設置為輸入。參數可設置為”none”(無中斷觸發), “rising”(上升沿觸發), “falling”(下降沿觸發),“both”(上升、下降都沿觸發)。
5 active_low:此值可以反轉 value 中的值。

本文地址:http://m.qingdxww.cn/thread-766985-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品美女| 欧美日韩亚洲一区二区三区 | 69热精品视频在线看影院 | 国产免费播放一区二区 | 精品卡通动漫在线观看视频一区 | 人人99| 91免费视频国产 | 一级特黄aaa大片29 | 亚洲六月丁香色婷婷综合久久 | 国产精品亚洲欧美 | 欧美成人免费一级人片 | 香蕉网站狼人久久五月亭亭 | www.四虎影视.com | 国产毛片一区二区 | 国产精品入口麻豆高清在线 | 午夜视频一区二区 | 久久www免费人成精品 | 久久天天躁夜夜躁狠狠躁2020 | 伊人网色 | 热99这里有精品综合久久 | 一区二区三区成人 | 免费观看一区二区 | 国产欧美自拍 | 中文字幕第10页 | 日日爱网站| 国产青草视频在线观看免费影院 | 天天摸天天操免费播放小视频 | 91免费观看视频 | 91久久夜色精品国产九色 | 91麻豆国产精品91久久久 | 在线免费色 | 亚洲黄色影片 | 欧美视频区 | 777黄色| 日本高清色本在线www游戏 | 欧美日韩国产中文字幕 | 国产精品香蕉在线观看不卡 | 四虎永久在线精品影院 | 成人国产精品久久久免费 | 亚洲欧美视频一区二区 | 奇米一区二区三区四区久久 |