0

Loopbacktest を介して LPT ポートをテストする必要があります。ループバックドングルを持っていますが、LPT ポートが正しく機能しているかどうかを知りたいだけです。C# でこの目標を達成する方法がわかりません。これらの inpout.dll が 32 ビットまたは 64 ビットに必要であることはわかっています。しかし、これをループバックに使用するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

1

パラレル ポートは、15 年前にドードーの道を歩みました。石器時代にはプリンターに使用され、セントロニクス インターフェイスが標準でした。当時の標準のパラレル ポートは、次の図のように見えました。

ここに画像の説明を入力

データ出力用に 8 ビットがありましたが、データ入力用に予約されたビットがないことに注意してください。いくつかのハンドシェイクとステータス信号 (ACK、エラー、選択済み、用紙切れ、ビジー) を除いて、プリンターは応答しませんでした。

これは汎用 I/O にはあまり役に立たなかったので、しばらくしてインターフェイスが改善されました。残念なことに、単一の業界標準はありませんでした。少なくとも EPP (Enhanced Parallel Port) と ECP (Extended Capabilities Port) がありましたが、どちらも支配的になりませんでした。産業用アプリケーションで使用されるポートは、相互に互換性のない独自のベンダー固有のスキームを使用していました。それはアイデアを完全に殺し、USBは棺桶に最後の釘を打ちました.

したがって、ソフトウェアにも共通の規格はありませんでした。MS-Dos はプリンター用の LPT デバイスをサポートしただけで、Windows のパラレル ドライバーはプリンターへのインターフェイスのみをサポートし、出力のみをサポートする STROBE/ACK ハンドシェイクを実装するだけです。

したがって、最初に必要なのは、パラレル ポートをサポートするドライバーです。これは inpout32.dll であることが珍しくありません。これは、ユーザー モード プログラムが I/O ポートに直接アクセスできるようにする非常に単純なドライバーです。その場合、ポートがマップされているアドレスと、それが使用するレジスタも知る必要があります。不明な場合は、使用するデバイスのベンダーにお問い合わせください。

于 2013-11-26T10:45:01.063 に答える