問題タブ [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.

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

c++ - C / C ++ selectはLinuxでgpioとどのように連携しますか?

Linuxではselectはgpioでどのように機能しますか?

selectを使用して、おそらくいくつかのスレッドの助けを借りて、一種の割り込み駆動型プログラムを作成することは可能ですか?

そして、select callを使用するとき、私は何を考えますか?

ありがとう


注:selectのmanページを読みましたが、このトピックについてさらにサポートが必要だと思います。

  • 男3posix選択
  • 男2選択
  • 男2select_tut

更新:gpioはsysfsgpioブロックで公開されています。しかし、それをselectで使用できるかどうかはわかりません。

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

android - UEventObserver.java を拡張する

おい!GPIO 割り込みを監視するために、frameworks/base/core/java/android/os にある UEventObserver.java のサブクラスであるオブザーバー クラスを作成したいと考えています。問題は、このクラスが標準 SDK android.jar に含まれていないことです。このクラスから拡張する方法を知っている人はいますか? どうもありがとう!

0 投票する
1 に答える
2584 参照

embedded - STM32F103ZEチップのGPIOピンに割り込みを設定できますか?

STM32F103ZEで利用可能なGPIO割り込みはありますか?データシートを調べましたが、それに関連するものは見つかりませんでした。私はこのプロセッサを初めて使用しますが、最近TIのMSP430を使用しました。MSP430では、いくつかのGPIOレジスタを使用して割り込みを設定できます。誰かが私にそれをどのように行うことができるか教えてもらえますか?

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

linux-device-driver - ARMベースの組み込みLinux上のGPIOIRQ

AT91SAM9M10-EKES評価ボードでGPIOIRQをプログラムしようとしています。IRQの登録に成功し、IRQが機能しています。ただし、一部の割り込みは失われます。26を送信していますが、22しか取得できません。

コード:

これはドライバー全体ではありませんが、これはIRQを処理する実際の部分です。誰かがコードに問題を見つけた場合、または私が4つの割り込みを失った理由を知る方法を提案できる場合は、返信してください。私はこれに何時間も立ち往生しています...:(

ありがとう。ラモン。

0 投票する
1 に答える
3712 参照

linux - Linuxカーネルモジュールでの定期的なタスク

現在、friendlyarm Linux 2.6.32.2(mini2440)用のGPIOカーネルモジュールを開発しています。私はエレクトロニクスのバックグラウンドを持ち、Linuxは初めてです。

起動時にロードされるカーネルモジュールと関連するデバイスファイルは、/devとしてにありgpiofreqます。

デバイスファイルへの最初の書き込みでは、GPIOピンは50kHzで連続的にトグルします。2回目の書き込みでは、切り替えが停止します。3回目は、再開します。

freqを生成するために別のカーネルモジュールを作成しました。ただし、最初にデバイスファイルを書き込んだ後、CPUがフリーズします。ターミナルプロンプトが表示されますが、その後コマンドを実行できません。

コードスニペットは次のとおりです。

これがデバイス書き込みコードで、デバイスファイルに書き込まれたデータで開始または停止します。

0 投票する
4 に答える
31421 参照

arm - I2C stm32を適切に初期化する方法は?

ADXL345加速度計からデータを取得したいのですが、接続が間違っているようです。

SCL- PC6(10k抵抗付き)

SDA- PC7(10k抵抗付き)

SDO- GND

CS-VCC

GND-GND

3.3v-VCC

これが初期化する私のコードです:

一例で私は見ました

しかし、私はこのAPIを利用できません。

私を助けてください。私は多くの解決策を試し、SPIを介して接続しようとしましたが、成功しませんでした:(I2Cを手伝ってください。

0 投票する
1 に答える
8718 参照

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 ファイルを見つけることができませんでした)。 .

初心者の質問で申し訳ありませんが、アドバイスをいただければ幸いです。

前もって感謝します

0 投票する
1 に答える
10558 参照

linux - sysfs を使用した Linux ユーザー空間 GPIO 割り込み

sysfs を使用して、ユーザー空間で GPIO で割り込みを使用したいと考えています。私はこれらのコマンドを使用します:

gpio はうまく機能しますが、割り込みを使用できません。このファイルをポーリングするには、エッジファイルが必要です。しかし、私のシステムでは、このファイルは存在しません。私は解決策を見つけるために多くの試みをしましたが、うまくいきません。

私のターゲットは Linux カーネル 2.6.30 の AT91SAM9263 です。

ボードの起動時に、割り込みで次のメッセージが表示されました。

これは、機能at91_gpio_irq_setup()が適切に実行されていることを示しています。

何か考えはありますか?

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

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制御)

誰かがこれらのそれぞれが何であるかを、できれば追加情報へのリンクを使って教育的な方法で説明できますか?

前もって感謝します。

0 投票する
1 に答える
5914 参照

gpio - / sys / class / gpio/exportへの書き込みに失敗しました

私は、gpioピンを構成し、アトムボードにセンサーを追加する必要があるプロジェクトに取り組んでいます。カーネルがgpioを構成しました...CONFIG_GPIO_SYSFS=yはカーネルオプションの1つです。

私はfedoraバージョン2.6.29-10
を使用 していますが、gpioフォルダー内のエクスポートファイルに書き込むことができません。

エラーが発生します
bash: echo: write error: Invalid argument

私も同じことを試しましたが、使用sudosh -cませんでした。ただし、これらのピンをユーザースペースに公開できない限り、コードを記述できません。何が間違っているのでしょうか。
カーネルバージョンまたは他のカーネルオプションの問題を設定する必要がありますか?

前もって感謝します