WiringPiというライブラリを使うと、RasPiのインターフェイスをC言語経由で扱うことができます。
Pythonとかで扱うケースは結構みますけど、
ある程度突っ込んだことをするケースとかでは何やかんやでC言語はアテになります。
実際のところ
導入
$ cd #YOURDIR $ git clone git://git.drogon.net/wiringPi $ cd wiringPi
で、ビルド
$ ./build
つかいかた
27番ピン(DI)から値を読んで出力するサンプルはIonoPiを参考に実装するとこんな感じ
#include <wiringPi.h> #include <stdio.h> #define BUFSIZ 12 void printDigitalValue(int di, int val) { char buf[BUFSIZ]; //バッファを設定 setbuf(stdout, buf); //標準出力のバッファを溜め込む。無効にしたいなら二番目をNULL if (val == HIGH) { printf("high\n"); } else { printf("low\n"); } fflush(stdout); //この時点で吐き出す } int main() { //初期化 if (wiringPiSetup() != 0) { return -1; } // DI1の初期化。PUD_OFFは"no pull up/down"の意味。 pinMode(DI1, INPUT); pullUpDnControl(DI1, 0); //値を読む printDigitalValue(DI1, digitalRead(DI1)); return 0; }