【问题标题】:Strange problem using MVVM light toolkit and USB communication使用 MVVM light toolkit 和 USB 通信的奇怪问题
【发布时间】:2011-09-24 05:29:42
【问题描述】:

我制作了一个 USB 隐藏设备(pic18f2550 和 DS1820)。

我正在使用 Visual Studio 2010、C#、.NET 4.0 Framework、最新版本的 MVVM 灯光工具包和 Florian Leitner 的 USB HID 驱动程序(从 hid.dll [DllImport("hid.dll" )],阅读线程等...)

首先,我使用代码隐藏制作了非常轻量级的界面,用于测试我的设备和计算机之间的通信。一切都很好,我的设备被检测到并且信息被读取并且可以毫无问题地显示。为了学习使用这个工具包,我还决定实现 MVVM 模式。

我使用与我的第一个程序相同的代码创建了一个与我的 USB 设备通信的模型类。此类实现一个默认构造函数,该构造函数创建新的 UsbInterface(无源)并启用连接。

这个构造函数用 Visual Studio 单元测试,一切正常,设备已连接。

界面有一个按钮,RelayCommand 和一个 Action,当按钮被按下时,它们会调用我模型的默认构造函数。 (视图 ViewModel -> 模型)

使用debug,调用默认构造函数,创建新的UsbInterface,但Connection总是返回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 为真(如果我的设备已连接)
对 MVVM 解决方案使用 Visual Studio 中的单元测试,_InterfacConnected 为真(如果我的设备已连接)
使用 MVVM 解决方案,点击按钮,调用 RelayCommand 并调用默认的 TemperatureModel 构造函数,_InterfaceConnected 总是 FALSE

有人有想法吗?

问候 埃里克

【问题讨论】:

  • 你能把代码贴在你使用 RelayCommand 的地方,然后为 USB 设备调用你的代码吗?

标签: usb mvvm-light hid light


【解决方案1】:

我更改了用于测试的 USB 类,现在使用 SourceForge 的 libus-win32。 我已经尝试使用 CodeBehind 使用示例 WPF 应用程序。它运行良好。 今晚我将尝试对 Mvvm 做同样的事情。

【讨论】:

  • 你觉得这个图书馆怎么样?
猜你喜欢
  • 2011-06-19
  • 2011-06-03
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 2011-02-10
相关资源
最近更新 更多