一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

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

天嵌股份 ? 2023-05-30 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


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

1.sysfs 方式控制GPIO

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

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

1.1 gpiochipX

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

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

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

label:該組 GPIO 對應(yīng)的標(biāo)簽,也就是名字

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

1.2 export

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

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

1.3 unexport

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


1.4 gpioX

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

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

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

讀表示查看 GPIO 當(dāng)前是輸入還是輸出模式;

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

讀取或?qū)懭氩僮骺扇〉闹禐?out"(輸出模式)和"in"(輸入模式),如下所示

value:在 GPIO 配置為

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

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

譬如:

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

控制 GPIO 引腳輸出高電平

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

# active_low 等于 0 時

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

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

1.5 GPIO對應(yīng)引腳計算方法

全志的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é)點,并進入相應(yīng)目錄:

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 都有四種屬性,如復(fù)用 (function),數(shù)據(jù) (data),驅(qū)動能力 (dlevel),上下拉 (pull),

修改 pin 屬性的命令如下:

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


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

    關(guān)注

    25

    文章

    5659

    瀏覽量

    104269
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1280

    瀏覽量

    53974
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    中微愛芯32位MCU開發(fā)板AiP32RV15X介紹

    AiP32RV15X開發(fā)板是一款基于RISCV內(nèi)核的32位MCU開發(fā)板,提供了板載調(diào)試器、RESET、WAKEUP按鍵、三色LED、CAN收發(fā)器、USB接口、UART、ADC、SPI、IIC、RTC、TIMER、WDT、GPIO
    的頭像 發(fā)表于 06-17 10:54 ?263次閱讀
    中微愛芯32位MCU<b class='flag-5'>開發(fā)板</b>AiP32RV15X<b class='flag-5'>介紹</b>

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?435次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)板</b>驅(qū)動<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系統(tǒng)<b class='flag-5'>GPIO</b>子系統(tǒng)API函數(shù)的引入

    迅為RK3568驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗

    迅為電子RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗
    的頭像 發(fā)表于 05-28 15:24 ?370次閱讀
    迅為RK3568驅(qū)動<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系統(tǒng) <b class='flag-5'>GPIO</b>操作函數(shù)實驗

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)三級節(jié)點操作函數(shù)實驗

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)三級節(jié)點操作函數(shù)實驗
    的頭像 發(fā)表于 05-26 15:39 ?784次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)板</b>驅(qū)動<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系統(tǒng)三級節(jié)點操作函數(shù)實驗

    第二章 開發(fā)板與芯片介紹 詳解W55MH32芯片及開發(fā)板

    本章介紹了W55MH32芯片及開發(fā)板。該芯片采用Cortex-M3內(nèi)核,主頻216MHz,集成以太網(wǎng)功能,有L和Q兩種型號。配套開發(fā)板L-EVB功能豐富、Q-EVB為最小系統(tǒng),均含仿
    的頭像 發(fā)表于 05-26 09:19 ?359次閱讀
    第二章 <b class='flag-5'>開發(fā)板</b>與芯片<b class='flag-5'>介紹</b>  詳解W55MH32芯片及<b class='flag-5'>開發(fā)板</b>

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發(fā)板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO
    的頭像 發(fā)表于 04-21 10:39 ?428次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>中斷

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡介本案例主要是如何在小凌派-RK2206開發(fā)板上使用IOT庫的GPIO接口,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO
    的頭像 發(fā)表于 04-11 15:36 ?1183次閱讀
    基于小凌派RK2206<b class='flag-5'>開發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>外設(shè)

    STM32開發(fā)板教程之STM32開發(fā)指南免費下載

    介紹了幾個常用的系統(tǒng)文件(程序);3,實戰(zhàn)篇,主要通過 56 個實例(絕大部分是直接操作寄存器完成的)帶領(lǐng)大家一步步深入 STM32 的學(xué)習(xí)。   本指南為 ALIENTEK 戰(zhàn)艦 STM32 開發(fā)板的配套教程,在
    發(fā)表于 02-28 09:08 ?179次下載

    迅為RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動

    迅為RK3568開發(fā)板驅(qū)動指南Linux中通用SPI設(shè)備驅(qū)動
    的頭像 發(fā)表于 01-23 11:02 ?2765次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)板</b>驅(qū)動<b class='flag-5'>指南</b>Linux中通用SPI設(shè)備驅(qū)動

    dsPIC33C Touch-CAN-LIN Curiosity開發(fā)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《dsPIC33C Touch-CAN-LIN Curiosity開發(fā)板用戶指南.pdf》資料免費下載
    發(fā)表于 01-22 16:18 ?1次下載
    dsPIC33C Touch-CAN-LIN Curiosity<b class='flag-5'>開發(fā)板</b>用戶<b class='flag-5'>指南</b>

    四開關(guān)降壓-升壓開發(fā)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《四開關(guān)降壓-升壓開發(fā)板用戶指南.pdf》資料免費下載
    發(fā)表于 01-22 15:49 ?0次下載
    四開關(guān)降壓-升壓<b class='flag-5'>開發(fā)板</b>用戶<b class='flag-5'>指南</b>

    dsPIC33EDV64MC205電機控制開發(fā)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《dsPIC33EDV64MC205電機控制開發(fā)板用戶指南.pdf》資料免費下載
    發(fā)表于 01-21 14:34 ?10次下載
    dsPIC33EDV64MC205電機<b class='flag-5'>控制</b><b class='flag-5'>開發(fā)板</b>用戶<b class='flag-5'>指南</b>

    迅為RK3576開發(fā)板核心與底板接口硬件介紹

    迅為RK3576開發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?1478次閱讀
    迅為RK3576<b class='flag-5'>開發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口硬件<b class='flag-5'>介紹</b>

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

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

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

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