電子工作メモランダム

マイコンみたいなパソコンRaspberry Piの設定とかいじった手順とかの備忘録を淡々と記述するブログです。プログラムなど実行するときは自己責任でお願いします。

wiringPiを使ってC言語でGPIOからLEDを点滅させる

 LCDになんか表示させるために、まずはC言語でGPIOの制御をできるようにすることを目的として、LEDの点灯実験を行います。

wiringPiのインストール

 参考URL先のをそのままコピペしてます。変える必要もないですしね。

cd /tmp
wget http://project-downloads.drogon.net/files/wiringPi.tgz

tar xfz wiringPi.tgz
cd wiringPi/wiringPi
make
sudo make install
cd ../gpio
make
sudo make install

参考URL
Raspberry pi をArduinoみたいに使う - how to code something

wiringPiのテスト

 wiringPiがちゃんとインストールされているかどうか確認するために、まずはshellからLEDの点灯を行います。詳細は参考URLを見てください。

gpio -g mode 17 out  # GPIO 17をoutputにする
gpio -g write 17 1   # GPIO 17のHIGHにする
gpio -g write 17 0   # GPIO 17をLOWにする

 wiringPiとRaspberry Piのピン番号は違うらしく、GPIO 17は「0」らしいです。Cで書くときはこっちの数字を使います。ちなみに変えることもできるみたいです。

gpio mode 0 out  # GPIO 17をoutputにする
gpio write 0 1   # GPIO 17のHIGHにする
gpio write 0 0   # GPIO 17をLOWにする

 どっちでも同じ動作なはずです。

参考URL
Raspberry Pi (3) « stastaka's Blog

プログラム

 これも上の参考URLとかを参考にしてください。

test.c

#include <wiringPi.h>
#include <stdio.h>

int main (void)
{
    int pin = 0; // GPIO 17

    if (wiringPiSetup() == -1)
        return 1;
    printf("setupOK\n");

    pinMode(pin, OUTPUT);

    while (1)
    {
        printf("loop\n");
        digitalWrite(pin, 1);
        delay(1000);
        digitalWrite(pin, 0);
        delay(1000);
    }

    return 0;
}

実行

sudo gcc test.c -o test -I/usr/local/include -L/usr/local/lib -lwiringPi
sudo ./test

でコンパイル&実行。

 よし。ちゃんと動いた。