0

USB hid デバイス (pic18f2550 および DS1820 ) を作成しました。

Visual Studio 2010、C#、.NET 4.0 Framework、最新バージョンの MVVM ライト ツールキット、および Florian Leitner の USB HID ドライバー (hid.dll から関数をインポートする機能 [DllImport("hid.dll")]) を使用しています。読書用スレッドなど...)

まず、コード ビハインドを使用して、デバイスとコンピューター間の通信をテストするための非常に軽いインターフェイスを作成しました。すべて問題なく、デバイスが検出され、情報が読み取られ、問題なく表示されます。また、このツールキットを使用して学習するために、MVVM パターンを実装することにしました。

最初のプログラムと同じコードを使用して、USB デバイスと通信するためのモデル クラスを作成しました。このクラスは、新しい UsbInterface (souci なし) を作成し、接続を有効にする既定のコンストラクターを実装します。

このコンストラクターは Visual Studio 単体テストでテストされ、すべて問題なく、デバイスが接続されています。

インターフェイスには、ボタンが押されたときにモデルのデフォルトのコンストラクターを呼び出すボタン、RelayCommand、およびアクションがあります。(View <-> ViewModel -> モデル)

デバッグを使用すると、既定のコンストラクターが呼び出され、新しい UsbInterface が作成されますが、接続は常に false を返します。

何が追加されているのか本当にわかりません。

USB デバイスは正常に動作しているようです。Florent Leitner の USB HID クラスは、通常の WPF アプリケーションと ModelClass を使用しても問題ありません。

しかし、この非常に基本的な ModelClass (および Usb クラス) は、このパターンでは実行されません。

デフォルトのコンストラクタ

public TemperatureModel()
{
   usb = new USBInterface(”vid_04d8″, “pid_003f”);
   _InterfaceConnected = usb.Connect();
   if (_InterfaceConnected)
   {
      usb.enableUsbBufferEvent(new EventHandler(TraitementReception));
   } 
}

コード ビハインドを含む単純な WPF アプリケーションを使用し、_InterfacConnected が true (デバイスが接続されている場合) 、Visual Studio
で単体テストを 使用して MVVM ソリューションを使用、_InterfacConnected が true (デバイスが接続されている場合) 、MVVM ソリューションを使用、ボタンをクリック、RelayCommand を呼び出し、デフォルトの TemperatureModel コンストラクターの呼び出し、_InterfaceConnected は常に FALSE

誰かがアイデアを持っていますか?

よろしくエリック

4

1 に答える 1

0

テストに使用する USB クラスを変更し、現在は SourceForge の libus-win32 を使用しています。CodeBehind を使用したサンプル WPF アプリケーションを試してみました。順調に進んでいます。今夜、Mvvm で同じことをしようと思います。

于 2011-07-07T14:43:35.967 に答える