1. 程式人生 > >Linux應用層直接操作GPIO

Linux應用層直接操作GPIO

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

Linux應用層直接操作GPIO

在一個老手的指導下,應用層可以直接操作GPIO,具體指設定GPIO的輸入輸出以及輸出電平高或者低。這個大大地提高了靈活性,官方的文件有

GPIO Sysfs Interface for UserspaceGPIO Sysfs

這裡我記錄一下使用過例子:

# RK30_PIN0_PD4# A0-7 -> 0-7 / B0-7 -> 8-15 / C0-7 -> 16-23 / D0-7 -> 24-31echo 28 > /sys/class/gpio/exportecho "out" > /sys/class/gpio/gpio28/directionecho 1 > /sys/class/gpio/gpio28/value
   
  • 1
  • 2
  • 3
  • 4
  • 5

以上程式碼作用是:將RK30_PIN0_PD4

設定為輸出,將輸出電平設定為高電平。

OTG的PIN腳為RK30_PIN3_PD5

能有老手指點真好,以前想像過有沒有辦法直接在使用者層控制GPIO的輸入/輸出並設定輸出電平,不過最終沒有了結果。

這個問題的背景是出在了對主機板上的USB HOST口供電控制,在移植最新的核心版本到該主機板上時,USB口沒有供電輸出,進行手動使能供電解決了問題所在。這個是手動控制,以後要新增到DTS檔案中。

另:

A20主機板簡化了一些操作,沒有按照標準的API進行設計。操作方式是這樣的:

# 設定GPIO輸入輸出模組(0:輸入 1:輸出)echo 1 /sys/class/gpio_sw/PH12
/mul_sel# 檢視PH12這個PIN腳電平cat /sys/class/gpio_sw/PH12/data# 設定PH12這個PIN腳電平echo "1" /sys/class/gpio_sw/PH12/data
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

參考A20 GPIO 對映關係

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述