問題タブ [ioports]
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.
python - Python mmap /dev/port
/dev/port を mmap することは可能ですか? 試してみると「そのようなデバイスはありません」というメッセージが表示されます。
同じオプションで通常のファイルをmmapできました。
linux - Linux NASM OUTSB SegFault
0xff
のパラレル ポートにバイトを書き込もうとしています0x378
。問題なくコンパイルおよびリンクされますが、OUTSB
命令でセグメンテーション違反が発生します。
GDB でステップ実行し、命令の直前にレジスターを確認するとOUTSB
、DX レジスターに何もないように見えますか? またはdx
== edx
32ビットで?
ここで何が間違っていますか?
(OUTS命令に関する情報: http://siyobik.info/main/reference/instruction/OUTS%2FOUTSB%2FOUTSW%2FOUTSD )
編集:
C バージョンのプログラムは次のように動作します。
c - v4l2 プログラムのコンパイル時の ioport.h エラー
v4l2 のドライバー作成に関するこの記事をフォローしたいと思いました。
しかし、media/v4l2-dev.h をインクルードすると、最初の基本的な試行が失敗しました (VFL_TYPE_GRABBER などのマクロにアクセスしたいため)。
media/v4l2-dev.h には、次の出力でクラッシュする linux/ioport.h を含む linux/device.h が含まれています。
[...]
起源 :
私はでコンパイルしました:
これは、gcc 4.4.3 glibc 2.10 を使用した 2.6.32-37-generic-pae で発生します。kernel-headers と gcc のほぼ同等のバージョンを使用して、gentoo で同じことを試しました。
私は何を間違っていますか?
編集: 正確なインクルード パスを示します。
c++ - 新しい配置、I/O レジスタ上に配置されたオブジェクト、およびゼロ化されたメモリ
メモリを節約するために、I/O スペースの上にクラスを「マップ」する新しい配置を試しています。
これはうまく機能しますが、0xWHATEVER でバイトをゼロにします。「代替」ソリューション
同様に動作しますが、私が実装したデフォルトのコンストラクターを呼び出しません。
コンストラクターを呼び出す方法はありますが、C++ で事前にメモリをゼロにしないでください。
c++ - I/O ポート コントローラー ドライバー (入力) (PS/2 キーボード ポート) への書き込み 左右のキーボード キーが押されましたか?
このシステム ドライバーInpOut32 および InpOutx64を使用して、inpout32/64
ハードウェア I/O ポート コントローラーを使用しています。
これを使用して、DirectInput ゲームで発生する問題を回避しようとしています。
(SendInput
非常に長いスリープ遅延なしで入力を拒否するため、使用できません。非常に高速なキーボード入力でなければならないので、それほど長く待つことはできません)。
私は現在inpout32
、ほとんどすべてのキーボード キーに取り組んでいますが、左右の矢印キーにアクセスする方法がわかりません。
PS/2 キーボードに関するこの Web ページを見ると、PS/2 キーボードのコマンドが表示されます。
これが私が必要としているものだと分かった
これらの両方を送信するにはどうすればよいですか。それがスキャン コードであり、とがそのスキャン コードの位置であると0xE0
推測している理由がわかりませんが、私の例では動作せず、LEFT キーに対してを送信し続けます.0x4B
0x4D
\
これが私が使用しているコードです
編集:問題は解決しました。この関数は機能します。DD_PS2command が true/false を返すようにする必要があります (通過したかどうかを示すため)。
新しい問題は、キーを押したままにしないとすぐにキーを離します。
ここにすべてのキーがありますhttp://www.computer-engineering.org/ps2keyboard/scancodes1.html
c - Vex RobotC を使用してループ内のポートを制御する
私は使用しており、タッチLEDのRGBカラーを設定Vex
RobotC
する関数を持っています。setTouchLEDRGB(portx, R,G,B);
私は9つのTouchLEDを持っていて、それらの色を一度に変更したいのですが、厄介なことに、これは一度に9行のコードです。次のような反復で関数を作成したいと考えています:
これを達成する方法はありますか?
c - C の場合、Linux ヘッダーの Windows ヘッダー バージョンは何ですかI/O ポート
Linux の場合<sys/io.h>
、ハードウェアに I/O ポートを含めることができますか?
これらの関数を Windows コンパイルに含めるには、どのヘッダーを含める必要がありますか?
編集:
Windows に相当するinb()
、outb()
低レベルの I/Oは、Windows では不可能であると言います。クイック フィックスを使用するには、Windows にドライバーをインストールする必要があります。