Loopbacktest を介して LPT ポートをテストする必要があります。ループバックドングルを持っていますが、LPT ポートが正しく機能しているかどうかを知りたいだけです。C# でこの目標を達成する方法がわかりません。これらの inpout.dll が 32 ビットまたは 64 ビットに必要であることはわかっています。しかし、これをループバックに使用するにはどうすればよいですか?
前もって感謝します。
Loopbacktest を介して LPT ポートをテストする必要があります。ループバックドングルを持っていますが、LPT ポートが正しく機能しているかどうかを知りたいだけです。C# でこの目標を達成する方法がわかりません。これらの inpout.dll が 32 ビットまたは 64 ビットに必要であることはわかっています。しかし、これをループバックに使用するにはどうすればよいですか?
前もって感謝します。
パラレル ポートは、15 年前にドードーの道を歩みました。石器時代にはプリンターに使用され、セントロニクス インターフェイスが標準でした。当時の標準のパラレル ポートは、次の図のように見えました。
データ出力用に 8 ビットがありましたが、データ入力用に予約されたビットがないことに注意してください。いくつかのハンドシェイクとステータス信号 (ACK、エラー、選択済み、用紙切れ、ビジー) を除いて、プリンターは応答しませんでした。
これは汎用 I/O にはあまり役に立たなかったので、しばらくしてインターフェイスが改善されました。残念なことに、単一の業界標準はありませんでした。少なくとも EPP (Enhanced Parallel Port) と ECP (Extended Capabilities Port) がありましたが、どちらも支配的になりませんでした。産業用アプリケーションで使用されるポートは、相互に互換性のない独自のベンダー固有のスキームを使用していました。それはアイデアを完全に殺し、USBは棺桶に最後の釘を打ちました.
したがって、ソフトウェアにも共通の規格はありませんでした。MS-Dos はプリンター用の LPT デバイスをサポートしただけで、Windows のパラレル ドライバーはプリンターへのインターフェイスのみをサポートし、出力のみをサポートする STROBE/ACK ハンドシェイクを実装するだけです。
したがって、最初に必要なのは、パラレル ポートをサポートするドライバーです。これは inpout32.dll であることが珍しくありません。これは、ユーザー モード プログラムが I/O ポートに直接アクセスできるようにする非常に単純なドライバーです。その場合、ポートがマップされているアドレスと、それが使用するレジスタも知る必要があります。不明な場合は、使用するデバイスのベンダーにお問い合わせください。