電源が投入されたときのGPIOの状態は何ですか?例:高、低、高インピーダンス?
また、OSはロード時にGPIOの状態を変更しますか?うまくいけない。
電源が投入されたときのGPIOの状態は何ですか?例:高、低、高インピーダンス?
また、OSはロード時にGPIOの状態を変更しますか?うまくいけない。
回答:
russellstrongのおかげで、ここで答えを見つけました。以下の関連部分を引用します
プルアップ抵抗/プルダウン抵抗に対する回路の感度についての結論に飛びつきました。RPiは、最初の起動時にGPIOを出力に設定していません。740ミリ秒間プルダウン抵抗をオンにします。
2つの18K抵抗(3v3-> GPIO-> GND)を使用して、ピンの状態を正確に確認しました。これがトレースです。青い線は3v3電源、黄色の線はGPIO線です。
RPiに推奨されるDebianディストリビューションの使用を開始すると、GPIOは無効になります。各ピンを個別に有効にする必要があります。
/ sysを使用して実行している場合、「Sysfsのパス」が興味深いことがわかります(http://www.kernel.org/doc/Documentation/gpio.txt内で検索してください)。特に、ピンを「エクスポート」して有効にします。以下のコマンドは、root権限(sudoまたはそれ以外)で実行していること、または変更する仮想ファイルの許可/所有権を変更したことを前提としています。
echo 4 > /sys/class/gpio/export
これにより、GPIOピン#4が有効になり、複数の仮想ファイルを含む/ sys / class / gpio / gpio4が存在します。これらのファイルには、入力または出力ピンであるかどうかを定義する「方向」、入力に対して読み取り専用または出力に対して書き込み可能で、現在の値を含む「値」などが含まれます。
echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory
もちろん、既存のライブラリを使用して、選択した言語で提供または互換性のあるGPIOを実行することをお勧めします。ただし、シンプルなものが必要な場合は、sysfsと直接インターフェイスして、非常に基本的なGPIOを実行できます。
cat /sys/class/gpio/gpio4/direction
は「in」と言います。プルアップ/プルダウンの状態を読み取ることができないことをデータシートで読みました。それらを測定しようとする