WiringPi 関数メモ

RaspberryPiのGPIOをC言語で制御するにあたりWiringPiライブラリの関数まとめ 

※ 作者がわれわれ凡人にブチ切れwiringPiの更新をやめてしまった。

wiringpi.com

githubで非公式のミラーはあるが機能の追加等の更新はしないそうです。

※ 個人的にはラズパイではpythonを使うのがいいと思いますが

※ どうしてもCを使いたい場合はpigpioを使うのがいいのではないかと思います。

 

●Setup Functions

 どれか一つはプログラムの最初に呼ばなければならない

 初期化処理に失敗した場合、戻り値-1が返される

 

int wiringPiSetup(void)    ---wiringPiピンナンバーを利用する

wiringPiSetupGpio(void)    ---Broadcom GPIOのピン番号を直接利用

wiringPiSetupSys(void)   ---/sys/class/gpioインターフェースを使い初期化

 

 

●General wiring functions

 

void pinMode(int pin,int mode)  ---ピンのmode(INPUT、OUTPUT、PWM_OUTPUT)を設定

void digitalWrite(int pin,int value)  ---ピンにHIGH(1)かLOW(0)を設定

void digitalWriteByte(int value)  ---8つのGPIOに、8bitで設定した値を設定

void pwmWrite(int pin , int value)  ---PWMレジスタに値を書き込む、0~1024

                                                         ※PWMをサポートしているのはGPIO18のみ

int digitalRead(int pin)  ---引数で与えられたpinの値を戻り値とし返す

void pullUpDnControl(int pin,int pud)  ---引数のピンのプルアップ、プルダウンを設定

                                                         ※該当のピンをINPUTに設定しておくこと

 

 

●PWM Control

 Sys modeの時はPWMコントロールはできない

 

pwmSetMode(int mode)  ---balanced,mark:spaceの選択デフォルトは前者

pwmSetRange(unsigned int range)  ---PWMジェネレータ内の範囲レジスタを設定

pwmSetClock(int divisor)  ---PWMクロックの除数を設定

 

 

●Timing functions

 

unsigned int millis(void)  ---wiringPiSetup関数を呼んでからミリ秒を示す数値を返す

void delay(unsigned int howLong)  ---howLong数値のm秒分、処理をポーズ

void delayMicroseconds(unsigned int howLong)  ---howLong数値のμ秒分、処理をポーズ