問題タブ [gpio]
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.
c++ - C / C ++ selectはLinuxでgpioとどのように連携しますか?
Linuxではselectはgpioでどのように機能しますか?
selectを使用して、おそらくいくつかのスレッドの助けを借りて、一種の割り込み駆動型プログラムを作成することは可能ですか?
そして、select callを使用するとき、私は何を考えますか?
ありがとう
注:selectのmanページを読みましたが、このトピックについてさらにサポートが必要だと思います。
- 男3posix選択
- 男2選択
- 男2select_tut
更新:gpioはsysfsgpioブロックで公開されています。しかし、それをselectで使用できるかどうかはわかりません。
android - UEventObserver.java を拡張する
おい!GPIO 割り込みを監視するために、frameworks/base/core/java/android/os にある UEventObserver.java のサブクラスであるオブザーバー クラスを作成したいと考えています。問題は、このクラスが標準 SDK android.jar に含まれていないことです。このクラスから拡張する方法を知っている人はいますか? どうもありがとう!
embedded - STM32F103ZEチップのGPIOピンに割り込みを設定できますか?
STM32F103ZEで利用可能なGPIO割り込みはありますか?データシートを調べましたが、それに関連するものは見つかりませんでした。私はこのプロセッサを初めて使用しますが、最近TIのMSP430を使用しました。MSP430では、いくつかのGPIOレジスタを使用して割り込みを設定できます。誰かが私にそれをどのように行うことができるか教えてもらえますか?
linux-device-driver - ARMベースの組み込みLinux上のGPIOIRQ
AT91SAM9M10-EKES評価ボードでGPIOIRQをプログラムしようとしています。IRQの登録に成功し、IRQが機能しています。ただし、一部の割り込みは失われます。26を送信していますが、22しか取得できません。
コード:
これはドライバー全体ではありませんが、これはIRQを処理する実際の部分です。誰かがコードに問題を見つけた場合、または私が4つの割り込みを失った理由を知る方法を提案できる場合は、返信してください。私はこれに何時間も立ち往生しています...:(
ありがとう。ラモン。
linux - Linuxカーネルモジュールでの定期的なタスク
現在、friendlyarm Linux 2.6.32.2(mini2440)用のGPIOカーネルモジュールを開発しています。私はエレクトロニクスのバックグラウンドを持ち、Linuxは初めてです。
起動時にロードされるカーネルモジュールと関連するデバイスファイルは、/dev
としてにありgpiofreq
ます。
デバイスファイルへの最初の書き込みでは、GPIOピンは50kHzで連続的にトグルします。2回目の書き込みでは、切り替えが停止します。3回目は、再開します。
freqを生成するために別のカーネルモジュールを作成しました。ただし、最初にデバイスファイルを書き込んだ後、CPUがフリーズします。ターミナルプロンプトが表示されますが、その後コマンドを実行できません。
コードスニペットは次のとおりです。
これがデバイス書き込みコードで、デバイスファイルに書き込まれたデータで開始または停止します。
arm - I2C stm32を適切に初期化する方法は?
ADXL345加速度計からデータを取得したいのですが、接続が間違っているようです。
SCL- PC6(10k抵抗付き)
SDA- PC7(10k抵抗付き)
SDO- GND
CS-VCC
GND-GND
3.3v-VCC
これが初期化する私のコードです:
一例で私は見ました
しかし、私はこのAPIを利用できません。
私を助けてください。私は多くの解決策を試し、SPIを介して接続しようとしましたが、成功しませんでした:(I2Cを手伝ってください。
linux - Linux で GPIO を介してビジー ループなしでエッジ イベントを取得するにはどうすればよいですか?
Linux (カーネル 2.6.31) が組み込まれたシステムで作業しています。
内部は AT91SAM9G20 チップで、一部のピンは外部に転送されています。
今、私はそれらを GPIO 入力として使用したいと考えています。
ファイルシステムを介した GPIO の使用に関する gpio.txt のドキュメントを読みましたが、ここまでは非常にうまく機能しています。いくつかのスイッチを gpio ピンに接続しました。結果は/sys/class/gpio/gpioX/value
. しかし今は、ビジー状態で待機することなく、変更に対応したいと考えています。(つまり、"Switch1 が押されました" をエコーします)。
ここで割り込みが必要だと思いますが、独自のカーネル ドライバーを作成しない限り、それらの使用方法を見つけることができませんでした。私は Linux と C に比較的慣れていないので (通常は Java でプログラミングします)、sysfs 経由でも割り込みを処理したいと考えています。しかし、私の問題は、GPIO ディレクトリに「エッジ」ファイルがないことです (これは、カーネル バージョン 2.6.33 以降のみであるためだと思います)。そうですか?「エッジ」の代わりにuevent
、 で説明されていないファイルがありますgpio.txt
。
gpio.txt のドキュメントには、「gpio_keys」という標準カーネル ドライバーが記載されていました。これを私の問題に使用することは可能ですか?
ユーザー空間プログラムがカーネルタスクを操作できるようにするよりも、このドライバーを使用する方が良いと思います。独自のドライバーを作成するための多くのコードスニペットを見つけましたが、600 個のgpio.h
ファイルのどれを含めるか、ライブラリーを参照する方法を見つけることさえできませんでした (クロスコンパイラーは gpio.h ファイルを見つけることができませんでした)。 .
初心者の質問で申し訳ありませんが、アドバイスをいただければ幸いです。
前もって感謝します
linux - sysfs を使用した Linux ユーザー空間 GPIO 割り込み
sysfs を使用して、ユーザー空間で GPIO で割り込みを使用したいと考えています。私はこれらのコマンドを使用します:
gpio はうまく機能しますが、割り込みを使用できません。このファイルをポーリングするには、エッジファイルが必要です。しかし、私のシステムでは、このファイルは存在しません。私は解決策を見つけるために多くの試みをしましたが、うまくいきません。
私のターゲットは Linux カーネル 2.6.30 の AT91SAM9263 です。
ボードの起動時に、割り込みで次のメッセージが表示されました。
これは、機能at91_gpio_irq_setup()
が適切に実行されていることを示しています。
何か考えはありますか?
io - Freescaleプロセッサのパッド制御機能の説明?
1368ページのMCIMX50アプリケーションプロセッサリファレンスマニュアル(セクション33.3)を読むと、プロセッサパッドのさまざまな可能な制御機能のリストがあります。
リストは次のとおりです。
- SRE(1ビットスルーレート制御)。
- DSE(2ビットドライブ強度制御)。
- ODE(1ビットオープンドレイン制御)。
- HYS(1ビットヒステリシス制御)。
- PULL_KEEP_CTL(4ビットのプルアップ/ダウンおよびキーパーコントロール)
- PUS(2ビットプルアップ/ダウン構成値)
- PUE(1ビットプル/キープセレクト)
- PKE(1ビットのプルアップ、プルダウン、またはキーパー機能の有効化/無効化)
- DDR_MODE_SEL(1ビットddr_mode制御)
- DDR_INPUT(1ビットddr_input制御)
誰かがこれらのそれぞれが何であるかを、できれば追加情報へのリンクを使って教育的な方法で説明できますか?
前もって感謝します。
gpio - / sys / class / gpio/exportへの書き込みに失敗しました
私は、gpioピンを構成し、アトムボードにセンサーを追加する必要があるプロジェクトに取り組んでいます。カーネルがgpioを構成しました...CONFIG_GPIO_SYSFS=y
はカーネルオプションの1つです。
私はfedoraバージョン2.6.29-10
を使用
していますが、gpioフォルダー内のエクスポートファイルに書き込むことができません。
エラーが発生します
bash: echo: write error: Invalid argument
私も同じことを試しましたが、使用sudo
しsh -c
ませんでした。ただし、これらのピンをユーザースペースに公開できない限り、コードを記述できません。何が間違っているのでしょうか。
カーネルバージョンまたは他のカーネルオプションの問題を設定する必要がありますか?
前もって感謝します