kumikoohashi
2019年2月21日 18時27分
いつもお世話になっております。大橋です。
Armadillo-IoT G3に絶縁デジタル入出力/アナログ入力アドオンモジュール DA00を載せて(右側に)、デジタル入力から割り込みの処理をしようとしています。
ケーブルはマニュアルで言う5,6番に挿しています。
まずこのページを見て、
https://users.atmark-techno.com/blog/750/2713
リンクのあった400用のサンプルコードをそのまま、
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…
指示の通りに以下のところだけG3用に変更しました。
#define GPIO_DIR "/sys/class/gpio"
#define GPIO_NAME "gpio141"
#define GPIO_PATH GPIO_DIR "/" GPIO_NAME "/"
pfd.events = POLLPRI | POLLERR;
しかし実行するとwaiting for interrupt...で止まり、何度ケーブルの状態を変えても反応がありません。
入力専用ですしdirectionディレクトリも存在しないものの、そこは通過しているのでそのままです。
5、6番に差し込んだケーブルを繋いだり切断したりすると
cat /sys/class/gpio/gpio141/value
の結果が1と0で変化することは確認しましたが、他にもソースコードを変えるところがあるのでしょうか。
いつも初歩的な質問で申し訳ありませんが、どなたかご教授いただけますと幸いです。
宜しくお願いいたします。
コメント
kumikoohashi
y.nakamura
2019年2月21日 19時42分
中村です。
> しかし実行するとwaiting for interrupt...で止まり、何度ケーブルの状態を変えても反応がありません。
この実行はroot権限でやっていますか?
デフォルトではこのようになていて、
atmarkなど一般ユーザは読めますが、書けません。
でエラーになっているのではないかと思います。
次のようにエラーチェックしてみてください。
--
なかむら