Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
A_lex_sander
0 / 0 / 1
Регистрация: 05.03.2014
Сообщений: 18
1

Обмен данными по usb

05.03.2014, 20:49. Просмотров 1224. Ответов 2
Метки нет (Все метки)

Вот пытаюсь поднять обмен по usb как написано в статье http://microsin.net/programming/PC/h...et-csharp.html , но не получается подключить либу. MS visual studio express пишет, что не возможно подключить либ. может кто-то решал такую задачу и может тать пример в котором используется данный либ.Или просто подсказать почему выскакивает такая ошибка, добавляю либу как ссылку .
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 20:49
Ответы с готовыми решениями:

Обмен данными по USB
Собираюсь писать программу, а точнее 2, суть в том, что нужно "закантачить"...

Обмен данными по каналу
В первой программе регистрируются щелчки мышью и их координаты передаются во...

Обмен данными по сети
Как реализуется обмен данными по сети Ethernet в C#? Необходимо создание...

С# обмен данными с DLL C++
Здравствуйте уважаемые ГУРУ! Функция DLL на с++ в результате работы...

Межроцессовый обмен данными
Ребята помогите пожалуйста!!! Задача состоит в следующем, программа запускает...

2
A_lex_sander
0 / 0 / 1
Регистрация: 05.03.2014
Сообщений: 18
07.03.2014, 16:14  [ТС] 2
Библиотеку прикрутил , удалось получить vid и pid устройств , как читать данные я не понял , может кто то сталкивался с такой проблемой и может подсказать .
0
Владимир9
0 / 0 / 1
Регистрация: 04.08.2016
Сообщений: 1
31.01.2017, 11:21 3
Лучший ответ Сообщение было отмечено A_lex_sander как решение

Решение

Здравствуйте, я пишу программу на C# для связи ПК с evaluation board for MCU MDR32F2Q по USB. Нашел несколько библиотек, чтение данных с USB проходит, а запись нет.

При использовании приведенного кода коннект проходит без ошибок, но на запись выдается ошибка и передача данных не производится

C#
1
2
3
4
5
6
7
           public USBHIDDRIVER.USBInterface usb1;
           public static byte[] wr_byte = new byte[2];  
 
           usb1 = new USBHIDDRIVER.USBInterface("vid_c251", "pid_1c01");   
            res = usb1.Connect();
           wr_byte[0] =  1;  wr_byte[1] =  15;
            res = usb1.write(wr_byte);
Переменная res равна false и в USB порт ничего не передается.


При использовании другой библиотеки
C#
1
2
3
4
5
6
7
    public UsbLibrary.SpecifiedDevice USBDevice;
 
     USBDevice = UsbLibrary.SpecifiedDevice.FindSpecifiedDevice(0xC251, 0x1C01);
 
     var Senddata = new UsbLibrary.SpecifiedOutputReport(USBDevice).SendData(new byte[] 
                                        { 1, 1, 1, 1, 1 });
     USBDevice.SendData(new byte[] { 1, 1 });
коннект проходит, затем проходят первые 2 байта, но затем программа виснет


Еще одна библиотека
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  public static LibUsbDotNet.UsbDevice MyUsbDevice;
        #region SET YOUR USB Vendor and Product ID!
        public static UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(0xC251, 0x1C01);
        #endregion
 
        MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);
               IUsbDevice wholeUsbDevice = MyUsbDevice as IUsbDevice;
                UsbEndpointReader reader = 
                       MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep01);
                UsbEndpointWriter writer = 
                        MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep01);
                UsbTransfer usbWriteTransfer;
                UsbTransfer usbReadTransfer;
                byte[] bytesToSend = Encoding.Default.GetBytes(testWriteString);
                byte[] readBuffer = new byte[1024];
                ecWrite = writer.SubmitAsyncTransfer(bytesToSend, 0, 2, 1000, out 
                                    usbWriteTransfer);
Переменная ecWrite равна false и коды по USB не передаются.

Если кто знает, подскажите, что я делаю неправильно. С уважением, Владимир
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2017, 11:21

Обмен данными между потоками
Добрый день! Тема давно избитая и статей казалось бы много по данной теме, но...

Обмен данными между классами
using System; using System.Collections.Generic; using System.ComponentModel;...

Асинхронный обмен данными с сервером
Здравствуйте! Изучаю асинхронный обмен данными с серваком, но пока что то не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru