樹莓派c語言執行 樹莓派GPIO介面程式設計!

2021-10-16 10:08:15 字數 1515 閱讀 2838

樹莓派之所以這麼成功,除了超高價效比和完善的生態系統外,其開放的40pin對外介面功不可沒,這40pin管腳中,除了12個電源類外,其餘28個都是可程式設計的gpio,其中部分gpio可以復用為iic,spi,uart,pwm等等,可以用來驅動各種外設。但是這些gpio的編號有些混亂,不同的api對於gpio的編號不一樣,而不同的api對於開發語言的支援也不同。其中比較主流的api庫有以下幾種:

1、wiringpi c,有perl, php, ruby, node.js和golang的擴充套件,支援wiringpi pin和bcm gpio兩種編號

2、rpi.gpio python,支援board pin和bcm gpio兩種編號

3、wiringpi-go, go語言,支援wiringpi pin、bcm gpio和board pin三種編號

看起來還是有些混亂,但是只要選擇好自己需要的開發語言就可以了,比如選擇python語言,選擇rpi.gpio就好,其他語言選擇wiringpi就好。

編寫程式之前,先來連線硬體。

如圖連線樹莓派管腳和led燈,注意led的長管腳為正極,連線gpio,短管腳連線gnd。

首先我們來看看使用c語言如何控制gpio。

使用putty遠端登入到樹莓派後,執行命令:gpio -v,可以看到預設情況下樹莓派是已經安裝了wirpingpi了。

我們可以使用命令列gpio readall檢視樹莓派的管腳定義。

vi led.c

使用vi工具建立乙個led.c。

輸入如下**:

#include int main(void)

}

**很簡單,不用做過多的解釋,這裡需要注意的是,數字1是wpi管腳編號,通過查表可以知道,這個是板子上的物理編號12號。我們已經在這個gpio上接了乙個led燈,接下來就可以控制這個燈了。

儲存檔案並退出vi後,編譯並執行。

gcc -wall -o led led.c -lwiringpi

sudo ./led

可以看到外接的led燈已經開始閃爍,c語言控制gpio成功了。

本人雖然從事c語言開發多年,但是python最近是在是太火了,藉此機會正好學習一下python語言開發,所以接下來所有**均由python實現。

詳情:樹莓派gpio介面程式設計-電子芯吧客(www.icxbk.com)

樹莓派GPIO操作

樹莓派的gpio操作被抽象為檔案讀寫,下面以乙個例子來說明gpio操作 1 啟用gpio21 echo 21 sys class gpio export這個命令把字元 21 輸入 sys class gpio export之中,命令執行後,sys class gpio下面增加了代表gpio21的乙個...

樹莓派GPIO程式設計和樹莓派攝像頭

1.樹莓派攝像頭,舵機,影象識別 2.樹莓派攝像頭的配置 如果不是最新版本系統 需要更新下 3.樹莓派的gpio 1 通用型輸入輸出口,介面的說明 2 gpio程式設計幫助文件 3 檢視gpio gpio readall 檢視命令 解釋說明 a 樹莓派管腳有三種編號方式 bcm bcm的引腳編碼方式...

樹莓派學習之利用VNC進行樹莓派進行遠端連線

參照方法 2.樹莓派端vnc安裝 3樹莓派開啟wifi並設定靜態ip 參照方法 sudo nano etc dhcpcd.conf在檔案結尾處新增如下 inte ce wlan0 static routers 192.168.1.1 內網閘道器ip位址 static domain name serv...