Я сделал USB-устройство (pic18f2550 и DS1820).
Я использую Visual Studio 2010, C #, .NET 4.0 Framework, последнюю версию легкого инструментария MVVM и драйвер HID USB от Florian Leitner (средство для импорта функций из hid.dll [DllImport ("hid.dll") )], тема для чтения и т.д ...)
Во-первых, я сделал очень легкий интерфейс с использованием кода для тестирования связи между моим устройством и моим компьютером. Все в порядке, мое устройство обнаружено и информация считывается и может отображаться без проблем. Для обучения с использованием этого инструментария я также решил реализовать шаблон MVVM.
Я создал модельный класс для связи с моим USB-устройством, используя тот же код, что и моя первая программа. Этот класс реализует конструктор по умолчанию, который создает новый интерфейс UsbInterface (без souci) и включает соединение.
Этот конструктор протестирован с модульным тестом Visual Studio, все нормально, устройство подключено.
В интерфейсе есть кнопка RelayCommand и Action, которые при нажатии кнопки вызывают конструктор по умолчанию для моей модели. (View <-> ViewModel -> Model)
Используя debug, вызывается конструктор по умолчанию, создается новый UsbInterface, но Connection всегда возвращает false.
Я действительно не знаю, что добавить.
Мое USB-устройство работает нормально, класс USB HID от Florent Leitner в порядке, используя обычное приложение 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
У кого-нибудь есть идея?
С уважением
Eric