樹莓派學習系列7 GPIO基礎

2021-07-13 17:03:46 字數 2907 閱讀 9880

前言

原來學微控制器的時候,就是通過一系列的引腳來控制微控制器。終於學到了通過引腳來控制樹莓派了。話不多說咱們先來了解基礎。

gpio簡介

a.全稱

general purpose input output (通用輸入/輸出)簡稱為gpio,或匯流排擴充套件器. b.

特性gpio具有更低的功率損耗(大約1μa,μc的工作電流則為100μa)

c.功能

與電腦內部進行資料互動(感測器的資料處理;步進電機等)

d.硬體

gpxcon 控制引腳功能;gpxdat用於讀寫引腳資料。另外,gpxup用於確定是否使用上拉電阻。 x為a,b,,h/j。

1. gpxcon 暫存器

用於配置引腳功能。 

port a 與 port b~port h/j 在功能選擇上有所不同,gpacon 中每一位對應一根引腳,共 23 個引腳。當某位被設為 0 時候,相應引腳為 輸出引腳。此時我們可以在gpadat 中相應的寫入 1或者 0 來讓此引腳輸出高電平或者低電平;當某位被設為1時,相應引腳為位址線或用於位址控制,此時gpadata無用。

一般而言 gpacon 通常被設為 1 ,以便訪問外部器件。

port b~port h/j

在暫存器操作方面完全相同,gpxcon 中每兩位控制一根引腳,

00 輸入 01 輸出

10 特殊功能 11 保留不用

2. gpxdat 暫存器

gpxdat用於讀寫引腳,當引腳被設為輸入時候,讀此暫存器可知道相應引腳的電平狀態高還是低,當引腳被設為輸出時候,寫此暫存器的位,可令引腳輸出高電平還是低電平。

3. gpxup暫存器

gpxup暫存器某位為1時,相應管腳沒有內部上拉電阻;為 0 時候 相應管腳有內部上拉電阻。

上拉電阻作用在於,當gpio 引腳處於第三種狀態時候,既不是輸出高電平,也不是輸出低電平。而是呈現高阻態,相當於沒有接晶元。它的電平狀態由上下拉電阻決定。

gpio程式設計

1.gpio庫及語言

a.rpi.gpio------python庫

支援board pin和bcm gpio兩種編號

b.wiringpi-------c庫

支援wiringpi pin和bcm gpio兩種編號

2.編號規範

a.樹莓派主晶元提供商broadcom的編號方法

gpio12對應的序號就是12,即gpiox對應序號x。

b.樹莓派板子上的自然編號(board)

圖上灰色 對應的編號,比如gpio12對應的編號是32。

c.wiringpi編號方式

這個圖一沒有這一列,圖二網上隨便乙個圖。有一列專門對應該編號方式的編號,找到板子上想要控制的gpio再對應該編號方式的編號即可。如:gpio25對應編號就是25。

程式設計步驟

1.python

安裝:sudo apt-get install python-rpi.gpio

檢測:sudo python

import rpi.gpio as gpio     //導入庫

/*設定gpio的編號方式*/

gpio.setmode(gpio.bcm) //設定gpio的編號方式為bcm

/*設定gpio引腳號及對應的工作方式*/

gpio.setup(24,gpio.out) //設定gpio24為輸出模式

/*接下來編寫你想要進行的操作*/

2.c語言wiringpi安裝:通過git獲得wiringpi的源**git clone git:

cd wiringpi

./build

build指令碼會幫助你編譯和安裝wiringpi

檢測:

簡單燈閃爍程式:

#include //新增gpio庫

int main()

return 0;

}

硬體準備

1.杜邦線

2.麵包板

麵包板的特點:+號和-號是一豎條都是接通的

中間的都是一排是接通的。中間的分隔也是分隔的

(可以自己實踐一下確認)

樹莓派學習 一 啟動樹莓派

格式化選擇碟符時務必謹慎,千萬不要選錯!在sd卡的boot根目錄下新建乙個txt檔案,修改名稱為ssh 沒有字尾 插入網線 插入sd卡 給樹莓派供電。共享網際網路。開啟網路和internet共享設定 更改介面卡選項 右鍵wlan屬性 共享 允許其他網路使用者通過此計算機的internet連線 家庭網...

樹莓派搭建web系列

用途 路由器 小型伺服器 搭載在四軸飛行器 小車 智慧型家居作為控制單元 遊戲機 鑑於周圍許多對 派 感興趣的同學都是非自動化專業,因此在自己選購樹莓派的基礎上總結出一些需要注意的問題。基本組成 樹莓派 和電腦主機板一樣的銀行卡大小主機板 記憶體卡 tf卡 電源線 接220v的輸出電流2.5a的電源...

樹莓派掛載U盤 樹莓派小無相系列

將樹莓派連線u盤後,檢視是否被樹莓派識別,命令列執行 sudo fdisk l這裡可以看到我的u盤已經被識別,在 dev sda,其 device 中 dev sda1 便是u盤分割槽。u盤正確識別後,便建立目錄來掛載u盤,命令列執行 sudo mkdir mnt udisk sudo mount ...