Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

STM32F4 USB HID составление репорта

Непрочитано 02.12.2013, 11:31  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

добрый день. Вроде разобрался с отправкой/приемом 64 байт. Эхо работает нормально, что отправил то и принимаю.
Еще вопрос небольшой, за что отвечают следующие переменные :
#define HID_IN_EP 0x81
#define HID_OUT_EP 0x01

Адреса конечных точек? откуда их брать?


и еще, в ответе мне присылается два раза одна и таже строка. Т.е. в режиме эхо я получаю обратно два раза ту строку, которую послал на устройство. Это не самое страшное, но а как это исправить?))
Реклама:

Последний раз редактировалось swat24; 02.12.2013 в 11:52.
swat24 вне форума  
Непрочитано 02.12.2013, 11:39  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Сообщение от swat24 Посмотреть сообщение
Похоже из-за REPORT_ID (1) .т.к. у меня отправляется с 0...
А почему нельзя поставить нулевой байт в массиве передачи в 1?
Impartial вне форума  
Непрочитано 02.12.2013, 11:54  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Impartial,
Код:
for (int i = 2; i ‹ mass.Length; i++)
{
   mass[i] = (byte)i;
}
mass[0] = 0x4d;
mass[1] = 0x10;
А в ответ приходит следующее:
Код:
00 4D 32 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
т.е. мой нулевой элемент массива считается первым...
swat24 вне форума  
Непрочитано 02.12.2013, 12:08  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Нужно разбираться с прогой в компе.
mass[0] всегда номер отчета.
Impartial вне форума  
Непрочитано 02.12.2013, 12:14  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

как я понимаю номер репорта компонент подставляет сам, а где его выставить я пока не нашел.
А работать с нулевым репортом плохо?
У меня сейчас вопрос, который был и раньше, почему оно мне отправляет несколько раз на один запрос...

В точке останова просматриваю буфер приема, в 0 элементе 0x4d. т.е. то, что и отправил. Значит номер репорта отправляется до массива

Может и правда это из-за проги на компе... по точкам останова я отправляю с устройства 1 раз, а на компе приходит несколько...

Последний раз редактировалось swat24; 02.12.2013 в 12:21.
swat24 вне форума  
Непрочитано 02.12.2013, 12:23  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

int res;

if(handle)
{

buf[0] = 1; // First byte is report number
buf[1] = 1;
res = hid_write(handle, buf, 2);

}
Вот так выглядит отправка отчета из 2х байт. Передоется все равно 64 по установке в конечной точке.

Сообщение от swat24 Посмотреть сообщение
У меня сейчас вопрос, который был и раньше, почему оно мне отправляет несколько раз на один запрос...
Чтобы ответить на этот вопрос нужно пересмотреть весь код.
Impartial вне форума  
Непрочитано 02.12.2013, 12:34  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Код:
for (int i = 2; i ‹ mass.Length; i++)
{
    mass[i] = (byte)i;
}
mass[0] = 0x4d;
mass[1] = 0x10;
vid_pid.Pid = textBox2.Text;
vid_pid.Vid = textBox1.Text;
usb = new USBHIDDRIVER.USB.USBSharp();
usb_interface = new USBInterface("vid_" + vid_pid.Vid, "pid_" + vid_pid.Pid);
usb_interface.enableUsbBufferEvent(new System.EventHandler(data));
usb_interface.startRead();
if (usb_interface.Connect())
{
   if (usb_interface.write(mass))
       statusStrip1.Items[0].Text = "Подключено";
}
Код:
private void data(object sender, EventArgs e)
{
   USBHIDDRIVER.List.ListWithEvent test =   (USBHIDDRIVER.List.ListWithEvent)sender;
   print_data Delegate = new print_data(Print_data);
   byte[] t = (byte[])test[test.Count - 1];
   this.Invoke(Delegate,t);
}
Вот так это выглядит у меня сейчас. Пробовал отдельной программой просмотреть что мне отсылает устройство - отсылает только один ответ. Значит это уже глюки программы на компе.
swat24 вне форума  
Непрочитано 02.12.2013, 12:44  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Сообщение от swat24 Посмотреть сообщение
usb_interface.write(mass)
А здесь что?
Impartial вне форума  
Непрочитано 02.12.2013, 13:00  
swat24
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Код:
for (int i = 2; i ‹ mass.Length; i++)
{
    mass[i] = (byte)i;
}
mass[0] = 0x4d;
mass[1] = 0x10;
В компоненте есть счетчик - USBHIDDRIVER.USBInterface.usbBuffer.Count. Он после принятия следующих данных инкрементируется. Получается в начале показывает 2, потом 6,10... 20,27,35 и т.д.
По идее он должен сбрасываться после чтения, или после приема...
swat24 вне форума  
Непрочитано 04.02.2014, 17:08  
pripoy08
Частый гость
 
Регистрация: 20.04.2009
Сообщений: 17
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
pripoy08 на пути к лучшему
По умолчанию Re: STM32F4 USB HID составление репорта

Доброе время суток!
вот ковыряю ЮСБ на 207-м проце, примеры запустил, вроди норм работает. В итоге нужно получить MSC и HID устройство в одном. В результате мучений и допиливаний либ получил рабочий MSC, а вот с хидом, который добавлен как второй интерфейс немного не выходит. в качестве хида взял пример мышки, можно проверить без дополнительного софта. Мышку видно в диспетчере ПК нормально, а вот отправка репорта не дает результата. Когда менял местами HID - MSC, то аналогично меняется работоспособность. мышка работает, а флеха нет! Подскажите где можно копнуть и подправить!
заранее спасибо!
pripoy08 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печатная плата USBee AX picavr Барахолка электронных компонентов 950 20.08.2023 17:11
Не могу запустить USB контроллер ATMega32U4 Slava1355 AVR 12 29.09.2014 14:58
VB.NET USB HID Easyrider83 Микроконтроллеры, АЦП, память и т.д 28 27.09.2011 12:43
USB HID девайс на 18F13K50 не хочет работать. DK Микроконтроллеры, АЦП, память и т.д 17 26.02.2010 18:31
USB HID PIC18F4550 нужна помощь! tower2007 Микроконтроллеры, АЦП, память и т.д 0 17.04.2008 04:33


Часовой пояс GMT +4, время: 08:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.