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
誰かがアイデアを持っていますか?
よろしくエリック