從WiringPi入手學樹莓派編程(3)-核心函數

前面的文章我們介紹了WiringPi的配置函數,今天這篇文章,我們來介紹下核心函數。

從WiringPi入手學樹莓派編程(3)-核心函數

1、void pinMode(int pin,int mode)

該函數用來設置樹莓派引腳的工作模式,共有兩個參數:

第一個參數是引腳的編號,具體採用哪種編號規則由配置函數決定;

第二個參數是要設置的工作模式,共有四種工作模式可以選擇,包括:輸入(INPUT)、輸出(OUTPUT)、PWM輸出(PWM_OUTPUT)或者GPIO時鐘(GPIO_CLOCK)。

需要注意的是:

樹莓派3B+、樹莓派4總共支持2路PWM硬件輸出,分別是PWM0和PWM1。

其中:PWM0可以使用wiringPi pin1(BCM_GPIO18)或者wiringPi pin26(BCM_GPIO12);PWM1可以使用wiringPi pin23(BCM_GPIO13)或者wiringPi pin24(BCM_GPIO19);
總共支持3路GPIO時鐘輸出,分別是:GPCLK0、GPCLK1、GPCLK2;

其中:GPCLK0使用wiringPi pin7(BCM_GPIO4);GPCLK1使用wiringPi pin21(BCM_GPIO5);GPCLK2使用wiringPi

pin22(BCM_GPIO6);

舉個例子:將wiringPi的pin1設置為PWM_OUTPUT

從WiringPi入手學樹莓派編程(3)-核心函數

2、void pullUpDnControl (int pin, int pud)

每個樹莓派引腳內部都有一個上拉電阻和下拉電阻,阻值大約是50KΩ。當引腳被配置為輸入(INPUT)模式,使用函數pullUpDnControl來激活其內部的上拉電阻或下拉電阻。

該函數有兩個參數:第一個是引腳的編號;第二個是要設置的模式,包括三種:PUD_OFFPUD_DOWNPUD_UP

PUD_OFF不激活引腳的任何電阻;

PUD_DOWN激活引腳的下拉電阻,下拉至GND;

PUD_UP激活引腳的上拉電阻,上拉至3.3V;

舉個例子:

將wiringPi的pin0設置為輸入模式,並激活上拉電阻:

從WiringPi入手學樹莓派編程(3)-核心函數

3、void digitalWrite (int pin, int value) ;

該函數用來將輸出值HIGH(高電平)或LOW(低電平)寫入到指定的引腳,該引腳必須提前配置為輸出(OUTPUT)模式;

函數有兩個參數:

第一個參數pin是引腳編號;

第二個參數value是要寫入的值,可以是HIGH或者LOW;如果寫入的是數值,wiringPi認為任何非0的值都是HIGH,而0為LOW;

4、void pwmWrite (int pin, int value)

該函數用來將PWM脈寬時間值寫入到PWM寄存器中,有兩個參數:

第一個參數pin表示引腳的編號,注意我們前面介紹的硬件PWM引腳;

第二參數value是要發送的脈寬時間值,其取值範圍為0~1024;

舉個例子:

將wiringPi的pin1設置為PWM輸出,並輸出佔空比為100/1024的方波。

從WiringPi入手學樹莓派編程(3)-核心函數

注:要持續輸出方波需要使用循環語句。

5、int digitalRead (int pin)

該函數用來返回特定引腳的電平信號。

參數pin用來指定引腳的編號;

返回值為int型,有高電平(HIGH)或低電平(LOW)兩種;

6、analogRead (int pin) ;

該函數用來讀取指定引腳的模擬量的轉換數值。樹莓派的引腳本身並不支持AD轉換,所以需要外接AD轉換模塊才能使用該功能。

7、analogWrite (int pin, int value)

該函數將指定的數值寫入到模擬量寄存器用於DA轉換。需要說明的是,樹莓派的引腳本身不支持DA轉換,因此需要外接DA轉換模塊才能實現功能。

好了,關於wiringPi的核心函數就先介紹到這裡。如果你喜歡這篇文章,歡迎去官網(https://www.founderchip.com/)下載本文PDF版本。


分享到:


相關文章: