1

以前は、RS232 接続を確立するために Windows フォーム アプリケーションを使用していました。既に提供されているシリアルポート部品(SerialPort)を使用し、比較的簡単にRS232通信を確立することができました。

さて、USB 通信を確立するために Winodows Form アプリケーションに似たようなものがあるのではないかと思っていました。

デバイスとの非常に低レベルのインターフェースを提供するこの WinUSB API があるようです。しかし、それがどれほど簡単かはわかりませんか?また、Windows フォーム アプリケーションに統合するのがどれほど簡単かわかりませんか?!

そのような USB インターフェイス API のより単純なバージョンはありますか?

Visual Studio に固執する必要はありません。WinUSB以外に、人々が使用するより標準的なc++ USB APIはありますか? USB 経由で何らかの通信を行う GUI API を開発したいと考えています。必要に応じて、プロセスを容易にするのであれば、Python やその他のツールを使用できますか?

前もって感謝します。

4

1 に答える 1

1

USB はシリアル プロトコルですが、USB をシリアル ポートのように扱うことはできません。

実際のデバイスが何であるかに依存します。たとえば、携帯電話は USB 用に複数の「エンドポイント」を提供する場合があります。1 つは電話をモデムとして使用するためのシリアル ポートであり、もう 1 つは写真や音楽ファイルを電話のストレージとの間で転送できるストレージ デバイスです。写真を撮ることができるカメラデバイス。これらはすべて動作が異なり、正しく動作させるには USB ドライバ プラグインが必要です。通常、これらは Windows に同梱されており、電話機は COM5:、E:、または「Samsung Galaxy S3 Mini」ドライブとして表示され、カメラとして表示されます。 「カメラとスキャナー」の下。

もちろん、これらすべてのデバイスをプログラムで開くことができますが、ウィンドウの内部に表示されるデバイス タイプとして実行されます (したがって、シリアル ポート機能、ファイル機能、またはカメラ機能を使用します)。

デバイスの動作に関する詳細が十分にわかっている場合は、デバイスのデバイス ドライバーを作成することもできます。

しかし、「ポートを開く」本当の方法はありません。USB API はドライバー API であり、ユーザー モード API ではありません。USB ドライバーを理解するための出発点となるページは次のとおりです

そのデバイスの操作方法を知っていると仮定して、単一のアプリケーションが単一のデバイスにアクセスできるようにするWinUSBドライバーがあります。

于 2014-08-10T22:33:26.853 に答える