0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

應用指南|基于TQT507開發(fā)板介紹如何控制GPIO

天嵌股份 ? 2023-05-30 10:39 ? 次閱讀


本文檔介紹了應用層如何控制 GPIO,適用于天嵌開發(fā)板TQT507 。

1.sysfs 方式控制GPIO

通過 sysfs 方式進行操控,進入到/sys/class/gpio 目錄下

可以看到該目錄下包含兩個文件 export、unexport以及2個gpiochipX(X 等于 0、 352)命名的文件夾。

1.1 gpiochipX

gpiochipX:當前 SoC 所包含的 GPIO 控制器, 每一個 gpiochipX 文件夾用來管理一組 GPIO。隨便進到其中某個目錄下,可以看到這些目錄下包含了如下文件 :

在這個目錄我們主要關注的是 base、 label、 ngpio 這三個屬性文件,這三個屬性文件均是只讀、不可寫。

base:與 gpiochipX 中的 X 相同,表示該控制器所管理的這組 GPIO 引腳中最小的編號。每一個 GPIO引腳都會有一個對應的編號, Linux 下通過這個編號來操控對應的 GPIO 引腳。

label:該組 GPIO 對應的標簽,也就是名字

ngpio:該控制器所管理的 GPIO 引腳的數量(所以引腳編號范圍是:base ~ base+ngpio-1)

1.2 export

export:用于將指定編號的GPIO引腳導出。在使用 GPIO引腳之前,需要將其導出,導出成功之后才能使用它。注意export文件是只寫文件,不能讀取,將一個指定的編號寫入到export文件中即可將對應的 GPIO 引腳導出。

導出成功之后會發(fā)現(xiàn)在/sys/class/gpio 目錄下生成了一個名為 gpio0 的文件夾(gpioX, X 表示對應的編號),如上圖所示。這個文件夾就是導出來的 GPIO 引腳對應的文件夾,用于管理、控制該 GPIO 引腳 。

1.3 unexport

unexport:將導出的 GPIO 引腳刪除。當使用完 GPIO 引腳之后,我們需要將導出的引腳刪除,同樣該文件也是只寫文件、不可讀,譬如:echo 0 > unexport ,刪除導出的編號為 0 的 GPIO 引腳。刪除成功之后,之前生成的 gpio0 文件夾就會消失!


1.4 gpioX

將指定的編號寫入到 export 文件中,可以導出指定編號的 GPIO 引腳,導出成功之后會在/sys/class/gpio目錄下生成對應的 gpioX(X表示 GPIO 的編號)文件夾,以前面所生成的 gpio0 為例,進入到 gpio0 目錄,該目錄下的文件如下所示

我們主要關心的文件是 active_low、 direction、 edge 以及 value 這四個屬性文件,接下來分別介紹這四個屬性文件的作用:

direction:配置 GPIO 引腳為輸入或輸出模式,該文件可讀、可寫。

讀表示查看 GPIO 當前是輸入還是輸出模式;

寫表示將 GPIO 配置為輸入或輸出模式;

讀取或寫入操作可取的值為"out"(輸出模式)和"in"(輸入模式),如下所示

value:在 GPIO 配置為

輸出模式下,向 value 文件寫入"0"控制 GPIO 引腳輸出低電平,寫入"1"則控制 GPIO 引腳輸出高電平;

輸入模式下,讀取 value 文件獲取 GPIO 引腳當前的輸入電平狀態(tài)。

譬如:

獲取 GPIO 引腳的輸入電平狀態(tài)

控制 GPIO 引腳輸出高電平

active_low:這個屬性文件用于控制極性, 可讀可寫,默認情況下為 0

# active_low 等于 0 時

edge:控制中斷的觸發(fā)模式,該文件可讀可寫。在配置 GPIO 引腳的中斷觸發(fā)模式之前,需將其設置為輸入模式:

非中斷引腳:echo "none" > edge 上升沿觸發(fā):echo "rising" > edge 下降沿觸發(fā):echo "falling" > edge 邊沿觸發(fā):echo "both" > edge

1.5 GPIO對應引腳計算方法

全志的GPIO號在 sunxi-gpio.h 中定義

#define SUNXI_BANK_SIZE 32

計算方式--舉兩個例子

a、PA13

PA 是從0開始定義的,那么就是:0 +13 = 13,那么 PA13 的GPIO號 就是 GPIO13

b、PE10

PE 是從128開始定義的,那么就是:128 + 10 = 138,那么 PE10 的GPIO號 就是 GPIO138

2.利用 sunxi_pinctrl 的 debug 節(jié)點

掛載文件節(jié)點,并進入相應目錄:

mount -t debugfs none /sys/kernel/debug cd /sys/kernel/debug/sunxi_pinctrl

2.1查看 pin 的配置

echo PC2 > sunxi_pin cat sunxi_pin_configure

2.2修改 pin 屬性

每個 pin 都有四種屬性,如復用 (function),數據 (data),驅動能力 (dlevel),上下拉 (pull),

修改 pin 屬性的命令如下:

echo PC2 1 > pull cat sunxi_pin_configure //查看修改情況


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關注

    關注

    25

    文章

    4846

    瀏覽量

    96895
  • GPIO
    +關注

    關注

    16

    文章

    1184

    瀏覽量

    51766
收藏 人收藏

    評論

    相關推薦

    i.MX Linux開發(fā)實戰(zhàn)指南—基于野火i.MX系列開發(fā)板

    電子發(fā)燒友網站提供《i.MX Linux開發(fā)實戰(zhàn)指南—基于野火i.MX系列開發(fā)板.pdf》資料免費下載
    發(fā)表于 10-10 17:23 ?7次下載

    linux開發(fā)板與樹莓派的區(qū)別

    操作系統(tǒng)的微型計算機,主要用于教育、編程、媒體播放等領域。 硬件配置 Linux開發(fā)板:Linux開發(fā)板的硬件配置因廠商和型號而異,通常包括處理器、內存、存儲、網絡接口等。 樹莓派:樹莓派的硬件配置相對固定,包括處理器、內存、USB接口、HDMI接口、
    的頭像 發(fā)表于 08-30 15:34 ?502次閱讀

    EFR32MG24開發(fā)板介紹及IDE使用

    EFR32MG24開發(fā)板介紹及IDE使用
    的頭像 發(fā)表于 08-10 10:47 ?510次閱讀
    EFR32MG24<b class='flag-5'>開發(fā)板</b><b class='flag-5'>介紹</b>及IDE使用

    實測14us,Linux-RT實時性能及開發(fā)案例分享—基于全志T507-H國產平臺

    本文帶來的是基于全志T507-H(硬件平臺:創(chuàng)龍科技TLT507-EVM評估),Linux-RT內核的硬件GPIO輸入和輸出實時性測試及應用開發(fā)
    的頭像 發(fā)表于 04-18 09:34 ?814次閱讀
    實測14us,Linux-RT實時性能及<b class='flag-5'>開發(fā)</b>案例分享—基于全志T<b class='flag-5'>507</b>-H國產平臺

    迅為RK3568開發(fā)板驅動開發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開發(fā)板驅動開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?692次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)板</b>驅動<b class='flag-5'>開發(fā)指南</b>-輸入子系統(tǒng)

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA開發(fā)板和Linu
    的頭像 發(fā)表于 02-01 17:09 ?1949次閱讀

    HC6800-ES V2.0單片機開發(fā)板學習指南

    電子發(fā)燒友網站提供《HC6800-ES V2.0單片機開發(fā)板學習指南.doc》資料免費下載
    發(fā)表于 01-07 09:48 ?11次下載

    TQT507開發(fā)板如何修改和保存內核配置

    本文檔介紹如何在開發(fā)時修改和保存內核配置,適用于開發(fā)板TQT507。 1.修改內核配置 編譯時系統(tǒng)會先檢測當前內核源碼目錄下是否存在.config文件,如果存在,直接使用此配置.con
    的頭像 發(fā)表于 12-28 14:13 ?393次閱讀
    <b class='flag-5'>TQT507</b><b class='flag-5'>開發(fā)板</b>如何修改和保存內核配置

    51單片機開發(fā)板原理圖介紹

    電子發(fā)燒友網站提供《51單片機開發(fā)板原理圖介紹.pdf》資料免費下載
    發(fā)表于 12-18 09:12 ?4次下載

    【先楫HPM5361EVK開發(fā)板試用體驗】GPIO使用,點燈

    (General Purpose Input/Output)來控制輸入輸出功能。 GPIO使用是HPM5361EVK開發(fā)板的一個重要特性,可以通過簡單的配置來實現(xiàn)對IO口進行控制。在試
    發(fā)表于 12-10 16:57

    T507開發(fā)板如何修改和保存內核配置

    本文檔介紹如何在開發(fā)時修改和保存內核配置,適用于開發(fā)板TQT507。1.修改內核配置編譯時系統(tǒng)會先檢測當前內核源碼目錄下是否存在.config文件,如果存在,直接使用此配置.confi
    的頭像 發(fā)表于 12-08 11:26 ?535次閱讀
    T<b class='flag-5'>507</b><b class='flag-5'>開發(fā)板</b>如何修改和保存內核配置

    RA6M3 RT-Thread* LVGL HMI Board開發(fā)實踐指南-GPIO實踐

    RT-Thread即將發(fā)布一系列RA6M3外設驅動的實踐指南,我們將使用瑞薩RA6M3 HMI-Board 開發(fā)板,帶領大家上手RT-Thread設備驅動, 本篇文章將介紹GPIO外設
    的頭像 發(fā)表于 11-30 19:05 ?1074次閱讀
    RA6M3 RT-Thread* LVGL HMI Board<b class='flag-5'>開發(fā)</b>實踐<b class='flag-5'>指南</b>-<b class='flag-5'>GPIO</b>實踐

    基于STC8A8K64S4A12開發(fā)板GPIO點燈實驗

    最近空閑時間比較多,準備說說STC8A8K64S4A12開發(fā)板。 實驗做起來——先從GPIO點燈開始。
    的頭像 發(fā)表于 11-15 16:52 ?1167次閱讀
    基于STC8A8K64S4A12<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>GPIO</b>點燈實驗

    方法|基于T507開發(fā)板講如何將占用引腳配置為普通GPIO

    方法|基于T507開發(fā)板講如何將占用引腳配置為普通GPIO
    的頭像 發(fā)表于 11-09 13:59 ?555次閱讀
    方法|基于T<b class='flag-5'>507</b><b class='flag-5'>開發(fā)板</b>講如何將占用引腳配置為普通<b class='flag-5'>GPIO</b>

    如何在全志T507開發(fā)板上架設Samba服務

    的共享。使用Samba可以方便地在Linux、Windows和Mac等不同平臺之間共享文件,大大提高了文件的傳輸效率。 下面小編為大家介紹如何在飛凌嵌入式OKT507-C開發(fā)板上架設Samba服務。01
    發(fā)表于 10-30 13:09