树莓派wiringPi常用的函数介绍
生活随笔
收集整理的這篇文章主要介紹了
树莓派wiringPi常用的函数介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
樹莓派wiringPi常用的函數介紹
硬件初始化函數:
int wiringPiSetup (void)
當使用這個函數初始化樹莓派引腳時,程序使用的是wiringPi 引腳編號表,引腳的編號為 0~16,需要root權限,返回執行狀態,-1表示失敗;
int wiringPiSetupGpio (void)
當使用這個函數初始化樹莓派引腳時,程序中使用的是BCM GPIO 引腳編號表,需要root權限,返回執行狀態,-1表示失敗。
通用GPIO控制函數:
1.void pinMode (int pin, int mode) ;
這個函數式設置pin腳的輸入和輸出模式以及PWM的輸入和輸出模式。在wiringPi中只有 pin 1 (BCM_GPIO 18)是支持PWM的輸出的。
2.void digitalWrite (int pin, int value) ;
這個函數式用來設置pin腳的高低電平的,當我們寫HIGH or LOW (1 or 0)的時候pin腳的mode必須為輸出模式。
3.void digitalWriteByte (int value) ;
這個函數可以將8位字節寫給8個GPIO pin腳,這是設置8個pin腳值的最快的方式。
4.void pwmWrite (int pin, int value) ;
這個函數是給PWM寄存器寫入值然后控制GPIO的值的,寫入的值必須是0-1024.
5.int digitalRead (int pin) ;
這個函數是讀取GPIO的pin腳的電平高低然后返回讀取的值。
6.void pullUpDnControl (int pin, int pud) ;
這個函數是設置GPIO的pin腳是否接上拉電阻和下拉電阻的。函數的參數pud必須設置,當設置為PUD_OFF時表示沒有上拉電阻和下拉電阻,當設置為PUD_DOWN 時為下拉電阻,設置為PUD_UP是為上拉電阻。
PWM的控制:
1.pwmSetMode (int mode) ;
這個函數是設置PWM的占空比模式一般為50%占空比和占空比可調模式。樹莓派默認是50%占空比模式,我們可以通過PWM_MODE_BAL 和PWM_MODE_MS這兩個參數來設置。
2.pwmSetRange (unsigned int range) ;
這個函數是設置PWM寄存器寫入的范圍,一般默認為1024.
3.pwmSetClock (int divisor) ;
這個函數的設置PWM時鐘的分頻因子。
定時函數:
1.void delay (unsigned int howLong)
這個是毫秒級的延時函數。
2.void delayMicroseconds (unsigned int howLong)
微秒級的延時函數
關于中斷的函數:
1.int waitForInterrupt (int pin, int timeOut) ;
這一個等待事件中斷函數,timeout參數是毫秒級別的參數,當為-1時代表永遠等待中斷狀態。如果發生錯誤返回值是-1,0表示超時,1表示成功中斷。調用這個函數之前我們需要對GPIO進行初始化。例如我們要設置GPIO 0為等待下降沿中斷:我們需要在運行程序之前先終端運行 ? gpio edge 0 falling
2.int wiringPiISR (int pin, int edgeType, ?void (*function)(void)) ;
這個函數是利用一個函數作為參數來獲取在特定的GPIO pin腳的中斷。edge_Type參數可以設定為 INT_EDGE_FALLING, INT_EDGE_RISING, INT_EDGE_BOTH or INT_EDGE_SETUP.
當中斷發生的時候function將被調用,調用function之前會先清除相應的標志位,這就使得隨后的中斷不會被影響。
硬件初始化函數:
int wiringPiSetup (void)
當使用這個函數初始化樹莓派引腳時,程序使用的是wiringPi 引腳編號表,引腳的編號為 0~16,需要root權限,返回執行狀態,-1表示失敗;
int wiringPiSetupGpio (void)
當使用這個函數初始化樹莓派引腳時,程序中使用的是BCM GPIO 引腳編號表,需要root權限,返回執行狀態,-1表示失敗。
通用GPIO控制函數:
1.void pinMode (int pin, int mode) ;
這個函數式設置pin腳的輸入和輸出模式以及PWM的輸入和輸出模式。在wiringPi中只有 pin 1 (BCM_GPIO 18)是支持PWM的輸出的。
2.void digitalWrite (int pin, int value) ;
這個函數式用來設置pin腳的高低電平的,當我們寫HIGH or LOW (1 or 0)的時候pin腳的mode必須為輸出模式。
3.void digitalWriteByte (int value) ;
這個函數可以將8位字節寫給8個GPIO pin腳,這是設置8個pin腳值的最快的方式。
4.void pwmWrite (int pin, int value) ;
這個函數是給PWM寄存器寫入值然后控制GPIO的值的,寫入的值必須是0-1024.
5.int digitalRead (int pin) ;
這個函數是讀取GPIO的pin腳的電平高低然后返回讀取的值。
6.void pullUpDnControl (int pin, int pud) ;
這個函數是設置GPIO的pin腳是否接上拉電阻和下拉電阻的。函數的參數pud必須設置,當設置為PUD_OFF時表示沒有上拉電阻和下拉電阻,當設置為PUD_DOWN 時為下拉電阻,設置為PUD_UP是為上拉電阻。
PWM的控制:
1.pwmSetMode (int mode) ;
這個函數是設置PWM的占空比模式一般為50%占空比和占空比可調模式。樹莓派默認是50%占空比模式,我們可以通過PWM_MODE_BAL 和PWM_MODE_MS這兩個參數來設置。
2.pwmSetRange (unsigned int range) ;
這個函數是設置PWM寄存器寫入的范圍,一般默認為1024.
3.pwmSetClock (int divisor) ;
這個函數的設置PWM時鐘的分頻因子。
定時函數:
1.void delay (unsigned int howLong)
這個是毫秒級的延時函數。
2.void delayMicroseconds (unsigned int howLong)
微秒級的延時函數
關于中斷的函數:
1.int waitForInterrupt (int pin, int timeOut) ;
這一個等待事件中斷函數,timeout參數是毫秒級別的參數,當為-1時代表永遠等待中斷狀態。如果發生錯誤返回值是-1,0表示超時,1表示成功中斷。調用這個函數之前我們需要對GPIO進行初始化。例如我們要設置GPIO 0為等待下降沿中斷:我們需要在運行程序之前先終端運行 ? gpio edge 0 falling
2.int wiringPiISR (int pin, int edgeType, ?void (*function)(void)) ;
這個函數是利用一個函數作為參數來獲取在特定的GPIO pin腳的中斷。edge_Type參數可以設定為 INT_EDGE_FALLING, INT_EDGE_RISING, INT_EDGE_BOTH or INT_EDGE_SETUP.
當中斷發生的時候function將被調用,調用function之前會先清除相應的標志位,這就使得隨后的中斷不會被影響。
總結
以上是生活随笔為你收集整理的树莓派wiringPi常用的函数介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下各个头文件及作用总结
- 下一篇: 用一个例子告诉你gdb调试工具如何使用