問題タブ [ps2]
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.
embedded - PS/2 ポートを介したデータの送信
LPC2148 用のマウス ドライバーをゼロから作成していますが、この点で行き詰まっています。キーボードからデータを受信できますが、マウスにはコマンド コードを送信する必要があります。これを行う最良の方法は何ですか?
keyboard - キーボードイベントをフィルタリングする方法は?
Spartan 3E スターター キット用の pong ゲーム vhdl コードを書いています。PS2のキーボードでゲームパッドを操作したいです。このために、スキャンコードを受信したキーボードからアップ信号とダウン信号を生成する必要があります。
サンプルコードはこちら
しかし、このコードを使用すると、キーボードの Q キーを離した後でも、up キーは常に '1' HIGH のままになります。Qボタンを押したままにして離すまでアップ信号をハイのままにしておき、その後アップ信号を「0」に戻す必要があります。基本的に、キーボードのキーを通常のボタンのように機能させたいと思っています。押したままにすると、HIGH 信号を出す必要があり、離すと、LOW 信号を出す必要があります。
usb - PS2 マウス スケッチを使用して Genius マウスを Arduino に接続しようとしていますが、マウスが初期化されません。
PS/2 マウスからモーション データを取得するために、このメッセージの下部にあるマウス スケッチ (他の誰かによって書かれています) を使用しています。このマウスの仕様を確認したところ、PS/2 互換であることがわかりました。ただし、実行すると、「mouse.write(0xff); // reset」という mouse_init の最初の行で停止するように見えます。これは、ps2.h 内の関数の呼び出しです。ps2.h は 2008 年から存在し、多くのプロジェクトで使用されているので問題ないと思いますが、PS/2 マウスとして接続する USB マウスには、このライブラリにはなかった独特の機能があるのではないかと考えていました。に対応するように設計されています。これに光を当てる可能性のある経験はありますか?
私は、mouse.write が Genius マウスの状態を変更していることを確認できましたが、ホストがデータの送信を続行できるように、マウスがクロック状態を低くするはずのポイントで停止します。mouse.write が開始される前は、クロック状態は低いですが、ホストによって数行だけ mouse.write にプッシュされ、そこにとどまります。マウスはそれを再び下げることはありません。問題が何であるかについての考えは大歓迎です。
assembly - DE2 ボードでの PS2 割り込みの生成
NIOS II プロセッサを搭載した DE2 ボードで PS2 割り込みを生成しようとしています。次のアセンブリ コードは非常に単純な割り込みサービス ルーチンですが、実行されることはありません。コードを確認して確認しましたが、問題がわかりません。PS2インターフェースへのリンクが添付されています。
アドバイスをいただければ幸いです。
よろしく。
keyboard - ps/2 キーボード インターフェイス VHDL
よし、altera DE2 FPGA ボードで使用するキーボード コントローラーを実装しようとしていますが、いくつか問題があります。このコードを quartus シミュレーターで実行しましたが、すべてが実行されるべきだと思うことを実行しているようです。ただし、FPGA にプログラムしようとすると、何も機能しません。私は ps/2 クロックをシミュレートしている方法にターゲットを絞っていますが、システム クロックは実際に実行されているようには見えません。
システム クロックを 50 MHz、20 ns 周期でシミュレートし、ps2clock を 90 ns 周期でシミュレートしました。ps2data をシミュレーション全体でランダムな値に設定すると、正しいビットが 8 ビット スキャン コードにロードされます。問題は、ボードにプログラムされると、ステート マシンが決してアイドル状態を離れないことです。ステート マシンは、データ ビットが 0 のときに ps2 クロックの立ち下がりエッジでアイドル状態を終了する必要がありますが、これは決して起こらないようです。ps2data および ps2clock ピンを正しい入力に接続していますが、問題を特定できないようです。
これをテストする最上位のエンティティは追加しませんでしたが、単純に出力 keyCode を取得して、7seg ディスプレイの 1 つに送信します。これに対する答えはps2clockに関係しているように感じますが、正確にはわかりません。
c++ - ポインタ削除クラッシュ
編集:
コピーコンストラクターを実装しました(両方とも提案された回答から)。私はこれをコントローラークラスで行い、そのサブクラスで同等のバージョンを作成しました。ただし、これで問題は解決していません。また、関数内のカウンターとコンソール コメントremovePawn()
(delete が呼び出されるプログラム内の唯一の場所) は、一度だけ呼び出されることを示しています。
より詳細には、各サブクラス (ポインターではない) のインスタンスが 1 つあります。これらは私のworld
クラスで宣言されています。両方とも、クラス ポインターを介して同じworld
クラス メソッドのパラメーターとして使用されます。baseController
問題は、両方が同じプロセスを同じ順序で通過している間、一方のクラスがそれをremovePawn()
呼び出した場合、プログラムは問題なく継続的に実行されることです。ただし、2 番目のクラスがremovePawn()
(具体的には削除を) 呼び出した場合、その命令でプログラムがクラッシュします。
アドレスも確認しました。割り当て直後のポインタのアドレスは、削除時のアドレスと同じです。
詳細情報: プレイヤーが殺された場合 (削除されてから新しいポーンが与えられた場合) にのみ、プログラムを閉じるときにセグメンテーション エラーが発生します。ただし、プログラムが開始されてから、最初の新規および最後の削除以外は何も行わずに閉じられた場合、プログラムは完全に正常に実行されます。
オリジナル:
ポインターに少し問題があります。私はそれらを理解し、私のコードはかなり堅牢であると信じていますが、コードのこのセクションを呼び出すと完全にクラッシュするようです。
Pawn は、NULL に初期化された basePawn* です。
これは PS2 プログラムの大学の課題であるため、私のデバッグはコンソールへの基本的な印刷に限定されています。
削除行を削除すると、メインの新規/削除セクションを数回実行できますが、最終的にはクラッシュします (これはメモリ制限に達したためだと思いますが、確かではありません)
私はすべての通常の犯人をチェックしました。ポインタはnullに初期化され、一度だけ削除されます(newも常に呼び出されます)。
私はかなり明白な間違いを犯しているかもしれませんが、私には手がかりがありません。どんな提案も素晴らしいでしょう。(必要に応じてさらにコードを投稿できます)。
編集:
コードの構造は次のようになります。
basePawn は、キャラクターを表すかなり基本的なメソッドを持つクラスです。
Controller は、キャラクター (AI またはプレイヤー制御) の頭脳として使用される basePawn (最初は NULL に設定) へのポインターを持つクラスです。removePawn メソッドが含まれています。
このメソッドはデストラクタで呼び出されます。また、ポーンがレベルから削除されたときにも呼び出されます。
また、respawn メソッドもあります。
編集:
baseController ヘッダー ファイル
embedded - PS2 ジョイスティックと atmega640 の SPI とのインターフェース
PS2ジョイスティックをマイクロコントローラーSPIを備えたavr Atmega 640とインターフェースしようとしています。インターネットで利用可能なビットバンには多くのコードがありますが、AVRでPS2とSPIをインターフェースしたいです。ボタンが押されると、対応する LED がオフではなく点滅を開始します。
友達あなたの助けは非常に高く評価されます
keyboard - PS2 キーボード遅延エラー / VHDL
このキーボード インターフェイスが原因で問題が発生しています。電子ピアノを鍵盤とアンプで作ろうとしているのですが、ボタンを押しても音が出ません。約 1 秒の遅延があります。この問題について教えてください。また、コード部分を変更すると
Shift2_next <= Shift1(0) & Shift2(10 downto 1);
に
Shift2_next <= PS2Df & Shift2(10 downto 1);
キーは希望どおりに即座に音を出しますが、音は止まりません。その場合、ブレークコードが壊れていると思います。お役に立てれば幸いです。ありがとう。
arduino - ps/2、usb、または別の有線接続を介して別のコンピューターに接続された HID デバイスとして機能するようにコンピューターをセットアップする
ホストBがホストAをキーボードとして認識するように、マシン(ホストA)をセットアップし、USBまたはps/2を介して別のマシン(ホストB)に接続することに興味があります。ホスト A では、入力シーケンスを動的に生成する人工神経回路網が実行されています。ホスト A がホスト B と通信できるのは、キーストロークを生成してホスト B に渡すなどの「人間の」方法のみであることが重要です。
私が知る限り、これは USB 接続では不可能です。ホスト間接続が不可能であり、さらに ps/2 接続が可能であるはずです。
Arduino UnoまたはLeonardoがUSB HIDキーボードとして機能することも知っていますが、事前にデバイスをプログラムする必要があるため、Arduinoでニューラルネットワークを実行することは不可能であるため、それらを使用することは役に立ちません. 何かのようなもの:
残念ながら、それはロシア語です:(
ただし、どのように開始するか、どの開始点が問題に適しているかは限定されていません。
そのため、これを行う方法のヒントに感謝します。