問題タブ [raspberry-pi-pico]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
228 参照

python - ボタン (GPIO) MicroPython でロジックを押す

反復メニュー ロジックに関する別の質問がありましたが、問題がボタン ロジックに変化したため、元の質問が本当に解決されたので、それらを分離します。

私のコードは次のとおりです。

特に、2 つのボタンが定義されていることがわかります。

また、それらは主に、複数の選択肢があるメニューから選択するために使用されます。

ただし、ボタンを交互にしか押せないという問題が発生しています。つまり、multi_choice 関数の開始時に、button1 を押して最初のオプションを選択したり、button2 を押して次のオプションにスクロールしたりできますが、たとえば、button2 を押しても、2 回目の押下には登録されません ( 2 番目のオプションを選択するには)、次にボタン 1 を押すだけです... その場合、次にボタン 2 を押すだけです。

これは、私が見ていない論理的な問題に過ぎないと確信しています。

ボタンは、GPIO ピン 2 と 3 の通常の一時的に閉じた Cherry MX スイッチです。確実に機能しますが、このロジックには何か問題があります。

次のテストは問題なく機能するため、ボタンではありません...

これをデバッグするためにいくつかの印刷ステートメントを追加しました。ボタンが値を取得および保持していることがわかります。人為的なリセットを調整する必要があるような気がします。おそらくそれはデバウンスでできることでしょうか? いろいろ試しましたが、今のところ進展がありません。

上記のデバッグ出力の出力は次のとおりです。