從WiringPi入手學樹莓派編程(2)-配置函數

前面的文章我們對WiringPi軟件包做了簡單的介紹,今天這篇文章,我們來認識下

WiringPi的配置函數。

從WiringPi入手學樹莓派編程(2)-配置函數

在第一節中我們曾介紹過WiringPi對樹莓派的引腳進行了封裝,可以使用

$sudo gpio readall

讀出樹莓派的引腳定義,如下圖:

從WiringPi入手學樹莓派編程(2)-配置函數

可以看到,樹莓派的引腳有三種定義方式:

1)按照實際物理位置進行定義(物理編號);

2)按照Broadcom引腳編號進行定義(BCM編號);

3)按照類似Arduino的方式進行定義(WiringPi編號);

同一個引腳採用不同的定義方式其編號是不同的。舉個例子,WiringPi編號為0的引腳,在BCM編號中其值為17,在物理編號中其值為11。因此,在實際進行編程時,需要明確採用哪種編號方式,這就要用到WiringPi的配置函數。

WiringPi軟件包提供了四個配置函數來初始化樹莓派的針腳,包括:

  • int wiringPiSetup (void) ;
  • int wiringPiSetupGpio (void) ;
  • int wiringPiSetupPhys (void) ;
  • int wiringPiSetupSys (void) ;

1、wiringPiSetup

該函數使用WiringPi編號方式對樹莓派引腳進行初始化,沒有參數,通常也不需要關心它的返回值;調用該函數需要root權限;

2、wiringPiSetupGpio

該函數使用BCM編號方式對樹莓派引腳進行初始化,沒有參數,通常也不需要關心它的返回值;調用該函數需要root權限;

3、wiringPiSetupPhys

該函數使用物理編號方式對樹莓派引腳進行初始化,沒有參數,通常也不需要關心它的返回值;調用該函數需要root權限;

4、wiringPiSetupSys

該函數與wiringPiSetupGpio類似,也是採用BCM編號方式對樹莓派引腳進行初始化。所不同的是,該函數並不是訪問實際的硬件,而是對/sys/class/gpio接口進行操作。該函數可以在沒有root權限的情況下對樹莓派引腳進行初始化,當前,前提是需要訪問的引腳已經被映射到/sys/class/gpio下了;

以上就是WiringPi的配置函數,編程時必須調用其中某個對引腳進行初始化。關於配置函數就先介紹這麼多,後續我們會對

WiringPi的其它函數進行介紹。


分享到:


相關文章: