linux核心 GPIO口編程入門__區塊鏈

來源:互聯網
上載者:User

1. api介面

請求gpio口

int gpio_request(unsigned gpio, const char *label) 釋放gpio口

void gpio_free(unsigned gpio)
判斷gpio索引號是否有效(gpio口是否存在)

int gpio_is_valid(int number);


設定輸出: int gpio_direction_output(unsigned gpio, int value)


設定輸入:

int gpio_direction_input(unsigned gpio)


將gpio口轉換成對應的中斷號

int gpio_to_irq(unsigned gpio);


插斷要求 request_irq


2. 代碼路徑:
2.1 drivers/gpio/gpiolib.c


3. 調試GPIO口

執行:

echo 100 > /sys/class/gpio/export


在/sys/class/gpio目錄下會產生子目錄:gpio100,該目錄有以下這些檔案:

active_low direction
power
subsystem
uevent
value


cd /sys/class/gpio/gpio100


gpio口設定成輸出: echo out > direction


輸出高電平: echo 1 > value


輸出低電平: echo 0 > value


另外,有個lua核心的移植項目,也已經包含了gpio口的讀寫功能,代碼路徑如下:

https://github.com/negtise/luak-arm

使用方法見代碼根目錄下的HowTo.txt


另外,通過cat /sys/kernel/debug/gpio 可以查看gpio口的資訊。

4. 參考文檔:
linux/Documentation/gpio.txt

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.