WiringPi是應用於樹莓派平台的GPIO控制庫函數,WiringPi遵守GUN Lv3。wiringPi使用C或者C++開發並且可以被其他語言包轉,例如python、ruby或者PHP等。WiringPi中的函數類似於Arduino的wiring系統,這使得熟悉arduino的用戶使用wringPi更為方便。
樹莓派具有26個普通輸入和輸出引腳。在這26個引腳中具有8個普通輸入和輸出管腳,這8個引腳既可以作為輸入管腳也可以作為輸出管腳。除此之外,樹莓派還有一個2線形式的I2C、一個4線形式的SPI和一個UART接口。樹莓派上的I2C和SPI接口也可以作為普通端口使用。如果串口控制台被關閉便可以使用樹莓派上的UART功能。如果不使用I2C,SPI和UART等復用接口,那么樹莓派總共具有8+2+5+2 =17個普通IO。wiringPi包括一套gpio控制命令,使用gpio命令可以控制樹莓派GPIO管腳。用戶可以利用gpio命令通過shell腳本控制或查詢GPIO管腳。wiringPi是可以擴展的,可以利用wiringPi的內部模塊擴展模擬量輸入芯片,可以使用MCP23x17/MCP23x08(I2C 或者SPI)擴展GPIO接口。另外可通過樹莓派上的串口和Atmega(例如arduino等)擴展更多的GPIO功能。
安裝
直接apt-get就可以。方便快捷。
sudo apt-get install wiringPi
測試wiringPi是否安裝成功
gpio -v
gpio readall
輸出以下即為安裝成功。
wiringPi對於GPIO引腳的標號定義參照上圖的wPi列。
第一個GPIO程序
在GPIO.17(wPi編號0)引腳連一個發光二極管,用來觀測引腳電平的變化。新建一個目錄,新建一個名為test.c的文件。內容如下:
#include<wiringPi.h> int main() { wiringPiSetup(); pinMode(0,OUTPUT); while (1) { digitalWrite(0,HIGH);delay(500); digitalWrite(0,LOW); delay(500); } return 0; }
然后通過gcc編譯。-lwiringPi表示動態加載wiringPi共享庫
gcc test.c -lwiringPi
sudo ./a.out
程序順利運行。使用Ctrl+c結束程序。