メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

PukiWiki最新記事
[ リロード ]   [ ソース ]  [ トップ | インデックス | 単語検索 | ご意見、ご感想 ]

Counter: 14643, today: 1, yesterday: 9

Raspberry PiのGPIOライブラリ

C言語などでGPIO操作をしようとしたときによく使うGordonsプロジェクトのWiringPiライブラリで定義されている関数を一覧でまとめてみました。
関数はArduinoライクになってます。

GordonsプロジェクトのWiringPiのライブラリ
https://projects.drogon.net/raspberr­y-pi/wiringpi/

wiringPi.h

WiringPiを使うためのライブラリ

基本関数

int wiringPiSetup (void)
int wiringPiSetupSys (void)
int wiringPiSetupGpio (void)
int wiringPiSetupPiFace (void)

int piBoardRev (void)
int wpiPinToGpio (int wpiPin)

void pinMode (int pin, int mode)
int getAlt (int pin)
void pullUpDnControl (int pin, int pud)
void digitalWrite (int pin, int value)
void digitalWriteByte (int value)
void gpioClockSet (int pin, int freq)
void pwmWrite (int pin, int value)
void setPadDrive (int group, int value)
int digitalRead (int pin)
void pwmSetMode (int mode)
void pwmSetRange (unsigned int range)
void pwmSetClock (int divisor)

割り込み処理

int waitForInterrupt (int pin, int mS)
int wiringPiISR (int pin, int mode, void (*function)(void))

並列処理 (マルチスレッド処理)

int piThreadCreate (void *(*fn)(void *))
void piLock (int key)
void piUnlock (int key)

プログラム/スレッドのプライオリティ設定

int piHiPri (int pri)

ディレイ

void delay (unsigned int howLong)
void delayMicroseconds (unsigned int howLong)
unsigned int millis (void)
unsigned int micros (void)

lcd.h

LCDライブラリ
GPIOにLCDを接続して表示するためのライブラリです。データは4ビットと8ビットをサポートしています。
void lcdHome (int fd)
void lcdClear (int fd)
void lcdSendCommand (int fd, uint8_t command)
void lcdPosition (int fd, int x, int y)
void lcdPutchar (int fd, uint8_t data)
void lcdPuts (int fd, char *string)
void lcdPrintf (int fd, char *message, ...)

int lcdInit (int rows, int cols, int bits, int rs, int strb, int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7)

wiringPiI2C.h

I2Cライブラリ
I2Cバス(SDA, SCL)でつながっているデバイスとデータのやりとりをするライブラリです。
int wiringPiI2CRead (int fd)
int wiringPiI2CReadReg8 (int fd, int reg)
int wiringPiI2CReadReg16 (int fd, int reg)

int wiringPiI2CWrite (int fd, int data)
int wiringPiI2CWriteReg8 (int fd, int reg, int data)
int wiringPiI2CWriteReg16 (int fd, int reg, int data)

wiringPiSPI.h

SPIライブラリ
SPIバス(MOSI, MISO, SCLK, CE0, CE1)でつながっているデバイスとデータのやりとりをするライブラリです。
int wiringPiSPIGetFd (int channel)
int wiringPiSPIDataRW (int channel, unsigned char *data, int len)
int wiringPiSPISetup (int channel, int speed)

softPwm.h

ソフトウェアPWMライブラリ
LEDやモーターの制御に使います。
int softPwmCreate (int pin, int value, int range)
void softPwmWrite (int pin, int value)

wiringSerial.h

シリアルライブラリ
int serialOpen (char *device, int baud)
void serialClose (int fd)
void serialFlush (int fd)
void serialPutchar (int fd, unsigned char c)
void serialPuts (int fd, char *s)
void serialPrintf (int fd, char *message, ...)
int serialDataAvail (int fd)
int serialGetchar (int fd)

wiringShift.h

シフトライブラリ
LSBファーストあるいはMSBファーストでデータを入出力します。
uint8_t shiftIn (uint8_t dPin, uint8_t cPin, uint8_t order)
void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val)

  関連記事:
Raspberry_Piをエネループ(電池)で動かす
Raspberry_PiでWiFi接続を安定にする2つの方法
Raspberry_Piでインターネットラジオ作ってみた
ラズベリーパイのインターネットラジオ完成!
Raspberry_PiにLCDやスイッチを取り付けるときの注意点
Raspberry_PiとArduinoを接続して連携動作させる
Raspberry_Piが起動しないときのLEDの点滅
RPiで大きな容量のSDカードから小さな容量のSDカードへまるごとコピーする
Raspberry_Piの周波数を下げて消費電力を下げてみた
ラズベリーパイ、大きさの異なるSDカードでシステム領域を共通にする(ddコマンド)
sendmailでのメール送信が異常に遅い場合の対処
ラズベリーパイで遠隔操作のレスキューロボットを作成 その1
 

   

ページコメント
投稿された内容の著作権はコメントの投稿者に帰属します。

トラックバック [ トラックバック(0) ]
トラックバック URL: http://myboom.mkch.net/modules/pukiwiki/tb/169