0

私は、libusb WIN32 ドライバーを使用する USB デバイスを持っています。

割り込みデータは、USB-HID インターフェイス エンドポイント 83 (EP83 内) を介して加速度計から取得できます。データは、次のフィールド (x、y、z、Vbat、CpuTemp) を持つリトルエンドイン形式です。データは 62.5ms (16Hz) ごとに取得されます。多数の USB HID「get」および「set」レポートが利用可能です (ep0 経由)

.NET および C# 経由でこのデータにアクセスするにはどうすればよいですか?

4

2 に答える 2

0

libusb32 は汎用 USB ドライバの c/c++ ライブラリです。2層になっています。カーネルモードの下位レイヤーは、変更する汎用クライアントドライバー libusb0.sys + .inf ファイルであり、この汎用 USB ドライバーをアップロードするデバイスに指示します。この .inf ファイルを作成するのに役立つ inf-wizard.exe ツールがあります。あなたのデバイスのために。ユーザー空間の上位層は、libusb ドライバーと通信する libusb.lib (静的リンクも作成できます) です。コードと usb (usb ドライバー) の間のインターフェイスを実際に定義するソース usb.h で見つけることができます。アンマネージ コードにアクセスするには、相互運用層を c# または c++/cli で記述するか、誰かが作成した既製の層を使用する必要があります。プロジェクトの 1 つへのリンクhttp://sourceforge.net/projects/libusbdotnet/ libusb ライブラリの使用方法 いくつかの例を参照することをお勧めします。通常、USB バスへのハンドルを開き、VendorId と ProductId でデバイスを見つけてハンドルを取得します。次に、デバイスのエンドポイントへの書き込み/読み取りを行います。

于 2011-03-07T12:29:13.997 に答える
0

HID デバイスの場合は、Windows のデフォルト ドライバーである hid.dll を使用することをお勧めします。私はそれを使用しましたが、問題ありませんでした。このように、ドライバーのデプロイも気にする必要はありません。とにかくそこにあるので、API を理解して使用するだけで済みます。これについては、Jan Axelson の本USB Completeをお勧めします。彼女にはかなり良い説明とサンプルがあり、C/C++ と C# が混在していますが、トレンドは .net です。また、彼女の Web サイトにはHID ページがあり、必要なコード サンプル。

于 2011-03-12T04:48:31.500 に答える