2015年8月25日火曜日

【Intel Edison】Intel Edison Breakout Board KitでLチカ C言語編

Intel EdisonでC言語を利用してLチカをやったのでメモ

回路図は前回を参考。
Intel Edisonに入れてるLinuxは「Release 2.1 Yocto* complete image」
(こっちで初期化した際にいれたやつ)

Intel作成のMRAAライブラリを利用することで
プログラミング言語からIntel EdisonのIOポートが使えるようになる。

Intel提供のLinuxをインストールしている場合は標準で入っているので
インストール手順は省略。

ココとかココとかココを参考に作ったソースがこちら


Lチカのソース
#include <stdio.h>#include <unistd.h>#include <mraa.h>
int main(int argc, char *argv[]){
// MRAAの初期化 mraa_init();
// MRAAのバージョンを出力 fprintf(stdout, "MRAA Version: %s\n", mraa_get_version());
// MRAAでGPIOとして使用するポートを初期化 // 今回は48番ポート(J20-7ピン) // echo "15" > /sys/class/gpio/export みたいなもの mraa_gpio_context gpio; gpio = mraa_gpio_init(48); if (gpio == NULL){ return 1; }
// ポートを出力に設定 if (mraa_gpio_dir(gpio, MRAA_GPIO_OUT) != MRAA_SUCCESS){ return 1; }
int i; for (i = 0; i<10; i++){ fprintf(stdout, "num: %s\n", mraa_get_version()); // echo "1" > /sys/class/gpio/gpio15/valueみたいなもの mraa_gpio_write(gpio, 1); sleep(1);
// echo "0" > /sys/class/gpio/gpio15/valueみたいなもの mraa_gpio_write(gpio, 0); sleep(1); }

// MRAAの終了処理 mraa_deinit();
return 0;}

作ったソースを今回は「test.c」という名前で保存してコンパイル&実行

コンパイル&実行

>gcc -lmraa test.c

>./a.out


「gcc -lmraa test.c」でコンパイル。
 「-lmraa」で「mraaライブラリ」をリンクするの意味。
 「./a.out」で実行。

実行した様子がこちら


とりあえず今後は他の言語でのLチカやセンサーとかをつないで見る予定。
後、ソースコードを綺麗に表示したい。

0 件のコメント:

コメントを投稿