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しても入力レベルが変わりません。
拡張基板のハード側については別途確認中ですが、それ以外に、不足している手順が無いかどうか確認しておきたいと考えております。

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

コメント

at_ohsawa

2014年5月7日 13時47分

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

maeda

2014年5月9日 14時37分

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

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

at_ohsawa

2014年5月13日 13時46分

>コンフィギュレーションが反映されたかどうか
こちらのFAQでArmadillo上で動作しているKernelのコンフィギュレーションを
確認する方法を案内しております。

FAQ : Armadilloで動作中のLinuxカーネルのコンフィギュレーションを確認するには
http://armadillo.atmark-techno.com/faq/check-kernel-config

maeda

2014年6月10日 14時11分

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

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