BETA

pigpioのCインターフェイスを使いたい デジタル入出力編

投稿日:2019-01-22
最終更新:2019-01-22

モチベーション

Raspberry PiのGPIO制御ライブラリであるpigpio
サンプルを探すと多くはpythonインターフェイスを使っていて,Cインターフェイスを使ってる記事をあんまり見かけないので少しずつ積み重ねていきます.

デジタル入出力

一番かんたんなデジタル入出力から.
やっていることは指定ピンのオンオフの切り替えです.
10秒間ループしておわり.

命令はArduinoとほとんど同じ.
gpioInitialise()で初期化しないと怒られます.
time_time()は何を読んでるんだろうか.

#include <pigpio.h>  
#include <iostream>  

constexpr unsigned int TEST_PIN = 21;  

int main()  
{  
  // 初期化処理  
  if (gpioInitialise() < 0)  
  {  
    std::cout << "ERROR" << std::endl;  
    return -1;  
  }  

  // ピンモード変更  
  gpioSetMode(TEST_PIN, PI_OUTPUT);  

  auto start = time_time();  
  while (time_time() - start < 10)  
  {  
    // ピンの状態読み取りと書き込み  
    auto now_signal = gpioRead(TEST_PIN);  
    gpioWrite(TEST_PIN, 1 - now_signal);  
  }  

  // 終了処理  
  gpioTerminate();  
  return 0;  
}

権限なしで呼び出せるのがいいよねーって書いてた気がしたけどsudoしないと動かない.
やり方を間違えている気がするけどとりあえず動くのでこれで.
原因特定次第追記するかも.

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@zennihonの技術ブログ twitter/zen_nihon

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう