有關GPIO的使用方法教程
fireflyP的GPIO使用獨立於核心的GPIO介面,這意味著兩側的控制都是相互獨立的。 因此,在控制GPIO時,會注意核心是否申請並控制了GPIO,重複控制會發生意想不到的問題。
在python上使用幫助( gpio )可以列印gpio使用的方法。 主要介面如下。
| init ( ) )
| init gpio功能
| implement it before using Gpio
|
| get _ level (自) )
| returnsthelevelofthepinforinputdirection
| orreturnsettingofthedrregisterforoutputgpios。
|
|set_dir(self,dir )。
| set GPIO direction
| :dir: refer to GpioDir
|
| set _ drv (自,drv ) )。
| set GPIO drv
| :drv: refer to GpioDrv
|
| set _ level (自,級別) )。
| set gpio輸出訊號
| : level : refertogpiolevel
|
| set _ mux (自,mux ) )。
| set GPIO mux
| :mux: refer to GpioMux
|
| set _ pull (自,拉) )。
|設定gpio pull
| :pull: refer to GpioPull
GPIO的使用流程大致如下。
初始化Gpio:Gpio.init (
2 .申請中使用的GPIO,例如pin=gpio(gpio0b5) )。
3 .輸入輸出控制:
3.1 .設定輸出:
將GPIO設定為輸出,將Gpio.OUTPUT設定為引數。 例如,pin.set_dir(gpio.output )
設定輸出電平,將輸出高電平引數設為Gpio.HIGH,將低電平設為Gpio.LOW,例如pin.set_level(gpio.high )3.2 .設定為輸入:
將GPIO作為輸入進行構成,引數設為Gpio.INPUT。 例如pin.set_dir(gpio.input ) )。
如果讀取輸入級別,例如pin.get_level ( )並處於高電平,則返回值為Gpio.HIGH,低電平為Gpio.LOW
其他介面介紹:
set _ drv :設定gpio的驅動能力。 drv引數為Gpio.E_2MA、Gpio.E_4MA、Gpio.E_8MA、Gpio.E_12MA
如果要設定set_mux:io的複用功能並將其複用到GPIO,則mux引數包含gpio.mux_gpio(set_dir中包含set_mux ) gpio.mux_gpio ) mux的其他值的含義具體而言,可以參照RK3288 datesheet的"7.3.2 Detail Register Description "的GRF_GPIOXX_IOMUX暫存器的記述,例如gpio7a1
gpio7a1_sel
GPIO7A[1] iomux select
1'b0: gpio
1'b1: pwm_1
因此,pin.set_mux(gpio.mux_1)將gpio7a1的功能設定為PWM1
set _ pull :設定gpio的下拉選單。 引數為Gpio.NORAML、Gpio.UP、Gpio.DOWN、Gpio.BUS_HOLD。 分別是RK3288 datesheet的:
2 ' b 00: z (正常執行) )。
2 ' b 01: weak1(拉動) )。
2 ' b 10: weak0(拉動) )。
2 ' b 11: repeater (匯流排金鑰器) )。
舉一個控制開發板黃色LED的簡單例子。
首先看看黃色LED燈對應的引腳。 如紅框內所示,是GPIO8A2:找到GPIO管腳的定義後,可以開始編寫控制程式碼。
$sudo python
from fireflyP import Gpio
Gpio.init (
LED_YELLOW='GPIO8A2'
led_yellow=Gpio(LED_YELLOW )
led _ yellow.# set_dir ( gpio.output ) set _ dir已包含set _ mux ( gpio )
LED_yellow.set_level(gpio.low ) #點亮黃色指示燈
複製程式碼
如下圖紅框所示,黃色LED燈點亮
關閉LED_yellow.set_level(gpio.high ) #黃色指示燈
複製程式碼
關閉後的效果:
完整的demo可以訪問github中的demo/gpio_test.py
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69920392/viewspace-2874083/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於InputMethodManager的使用方法
- [IOS開發教程] NSfileManager的使用方法iOS
- 關於Linux核心自帶GPIO LED控制Linux
- Linux下建立GPIO(/sys/class/gpio)Linux
- GPIO模式模式
- 求一些有關jbosscache的文件,文章和教程
- 關於STM32F103的GPIO口的介紹 (筆記篇)筆記
- STM32 GPIO的8種工作模式及相關配置暫存器模式
- baremetal GPIO中斷REM
- Sketch 外掛合集Miaow使用方法教程
- 樹莓派的GPIO程式設計樹莓派程式設計
- Dreamweaver關於媒體查詢命令的使用方法
- 教你查詢鐵威馬NAS裝置的使用方法教程
- 2. GPIO讀寫
- Docker相關簡介以及使用方法Docker
- jQuery中$.each()常見使用方法有哪些jQuery
- 關於axios以及jsonp的簡單使用方法iOSJSON
- 關於Delphi中預編譯指令的使用方法 (轉)編譯
- 怎樣安裝python的GPIO模組Python
- STM32 GPIO 暫存器的配置
- Dreamweaver網頁設計中的正規表示式使用方法教程網頁
- Pr入門教程標準模板的使用方法及完成輸出
- SCC.369 Working with GPIO
- 關於GPIO合封引腳以及晶振引腳使用注意事項
- 有關模型關聯的問題模型
- 一篇有關函數語言程式設計的形象生動教程函數程式設計
- Tuxera NTFS使用教程:關於Tuxera NTFS mac還有你不知道的用法UXMac
- ZYNQ的gpio的硬體驅動庫知識
- win10系統重置此電腦的使用方法【圖文教程】Win10
- Python和大資料有什麼關係?Python教程Python大資料
- 有關dblink有域名的總結:
- android 登陸右上角 的關閉按鈕的使用方法Android
- 整理有關Flashback的相關資料
- 關於imp和exp的有關理解
- STM32 GPIO基本結構
- 3.外設GPIO、中斷
- 有關元件的補充~~~~~~~元件
- 有關Kafka的那些事Kafka