2016-07-17 6 views
0

私はOrange Pi Plus H3で割り込みを使用しようとしています。私はhereからWiringOPをダウンロードしてインストールしました。wiringPiISR:そのようなファイルまたはディレクトリがありません

しかし、私はプログラムを実行しているとき、私がメッセージだ:

GPIO:GPIOエクスポート・インターフェースを開くことができません:そのようなファイルやディレクトリはありません wiringPiISR:/ SYS /クラス/ GPIO/GPIO7を開くことができませんが/値:そのようなファイルやディレクトリはありません

私は多くの同様の問題を発見しましたが、1つの解決策は私に合っていません。たとえば、/boot/config.txtに変更を加えるが、私の/ boot/dirにはconfig.txtファイルなどがない。

これを解決する方法はありますか?

#include <stdio.h> 
#include <string.h> 
#include <errno.h> 
#include <stdlib.h> 
#include <wiringPi.h> 

// WPi 7 to PA7, ie. Physical OPi-pin 29||WPi 8 to PA8, ie. Physical OPi-pin 31||WPi 9 to PG08 OPi-pin 32|| 
// WPi 10 to PA09 OPi-pin 33|| WPi 12 to PPA10 OPi-pin 35 || WPi 15 to PG06 OPi-pin 38      
#define BUTTON_PIN 8 

// the event counter 
volatile int eventCounter = 0; 

// ------------------------------------------------------------------------- 

void myInterrupt(void) { 
    eventCounter++; 
} 

// ------------------------------------------------------------------------- 

int main(void) { 

    // sets up the wiringPi library 
    if (wiringPiSetup() < 0) { 
    fprintf (stderr, "Unable to setup wiringPi: %s\n", strerror (errno)); 
    return 1; 
    } 
    pinMode(BUTTON_PIN, INPUT); 
    pullUpDnControl (BUTTON_PIN, PUD_UP) ; 

    if (wiringPiISR (BUTTON_PIN, INT_EDGE_FALLING, &myInterrupt) < 0) { 
    fprintf (stderr, "Unable to setup ISR: %s\n", strerror (errno)); 
    return 1; 
    } 

    // display counter value every second. 
    while (1) { 
    // printf("%d\n", eventCounter); 
    if (eventCounter != 0) { 
     system("systemctl suspend"); 
     //printf("Error!!!"); 
    } 

    eventCounter = 0; 
    delay(100); // wait 0.1 second 
    } 

    return 0; 
} 

私のシステムはLoboris'変更されたカーネルを使用してLubuntu 15.04である:ここ

そして、私がテストしたコードです。

+0

私のシステムはLoborisのLuboris 15.04です – askrav

+0

あなたのシステムなどの情報は、コメントではなく質問自体に入るべきです。私はあなたのためにそれを編集しました。ところで、これら2つのコメントを削除することができますか? – 3442

答えて

0

OrangePIソリューションで長時間作業した後に発見されました。

Orange Piで割り込みを使用する唯一の方法は、Armbianです。 this version of WiringOPをインストールし、最後にこれをクローンします:https:.// github.com/ua3nbw/gpiokey

wpi.cファイルがあります。 gccを使用してコンパイルし、選択したピン(デフォルト - ピン8)で割り込みを行います。

残念ながら、私のオレンジは最初の割り込みの5秒後にシャットダウンしています。多分、後で私はこれを修正する方法を見つけるでしょう。

+0

修正:割り込みを使用する前に "gpio export [pin num]"を使用してください。 – askrav

関連する問題