Armadilloフォーラム

GPIOの制御について

maeda

2014年4月24日 17時11分

以下の方法で入力レベルの取得をしていますが、常にHIGH レベル”1”になってしまいます。
他に何か設定が必要でしょうか?

  [root@armadillo840-0 (ttySC2) /]# echo in > /sys/class/gpio/gpio12/direction
  [root@armadillo840-0 (ttySC2) /]# cat /sys/class/gpio/gpio12/value
  1

カーネルコンフィギュレーションは以下の設定になっています。
以下以外はデフォルト設定のままです。

    Armadillo-840 System Configuration --->
    *** Extension Board select ***
    CON7 extension board (Custom) --->

    System Type --->
     [ ] use SCIFA4 [RX:PORT12, TX:PORT13]

armadillo840のCON7に拡張基板(市販の拡張ボードではなく専用に作成したものです)を接続し、CON7のピン番号62(PORT12)をスイッチ入力に割り当てています。
しかしスイッチをON⇔OFFしても入力レベルが変わりません。
拡張基板のハード側については別途確認中ですが、それ以外に、不足している手順が無いかどうか確認しておきたいと考えております。

お手数をおかけしますが、ご確認よろしくお願いいたします。

コメント
Armadillo-840 System Configuration -->
                [] use FSIA as Slave

書かれている以外には、上記の選択を解除する必要が
あります。

しかし"[ ]use SCIFA4 [RX:PORT12, TX:PORT13]"
が見えているという事は、既に"use FSIA as Slave"の
選択を解除しているはずなので、手順に不足はありません。

回路の確認と、期待したコンフィギュレーションが反映
されたカーネルを使用しているかを確認してみてください。

手元のArmadillo-840で確認してみたのですが、
同様のコンフィギュレーションで次のように
Hi/Loを読み取る事ができました。

(PORT12をGNDにショート)
# cat /sys/class/gpio/gpio12/value
0
 
(PORT12を3.3Vに1KΩでpullup)
# cat /sys/class/gpio/gpio12/value
1

ご回答ありがとうございます。

コンフィギュレーションが反映されたかどうか、何を見れば確認できますでしょうか?
お手数をおかけしますが、よろしくお願いいたします。

ありがとうございます。
Armadillo上のKernelのコンフィギュレーションを確認することができました。

また、ハードを調整し、Hi/Loを読み取る事ができるようにました。