認識 GPIO

GPIO(英語:General-purpose input/output),通用型之輸入輸出的簡稱,功能類似8051的P0—P3,其接腳可以供使用者由程式控制自由使用,PIN腳依現實考量可作為通用輸入(GPI)或通用輸出(GPO)或通用輸入與輸出(GPIO),如當clk generator, chip select等。

既然一個引腳可以用於輸入、輸出或其他特殊功能,那麼一定有暫存器用來選擇這些功能。對於輸入,一定可以通過讀取某個暫存器來確定引腳電位的高低;對於輸出,一定可以通過寫入某個暫存器來讓這個引腳輸出高電位或者低電位;對於其他特殊功能,則有另外的暫存器來控制它們。

LED 接線示意圖:

將 LED 燈與電阻連接到樹莓派。

Python 程式與 GPIO

Raspbian 作業系統的 Python 已經包含 RPi.GPIO 套件,直接引用即可:

import RPi.GPIO as GPIO

Pin 腳位編號有 BCM 和 BOARD 兩種模式:

GPIO.setmode(GPIO.BOARD)
  # or
GPIO.setmode(GPIO.BCM)

設定腳位(頻道)的輸出或輸入狀態:

GPIO.setup(channel, GPIO.IN)
GPIO.setup(channel, GPIO.OUT)
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)

讀取輸入:

GPIO.input(channel)

輸出:

GPIO.output(channel, state)

state 有 HIGH 與 LOW 兩種狀態:

GPIO.output(channel, GPIO.HIGH)
GPIO.output(channel, GPIO.LOW)

取得 GPIO 的相關資訊

GPIO.VERSION
GPIO.RPI_INFO

results matching ""

    No results matching ""