Например TDA7294

Форум РадиоКот • Просмотр темы - CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружены.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт авг 08, 2025 19:49:33

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружены.
СообщениеДобавлено: Ср апр 08, 2015 00:35:16 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 12
Рейтинг сообщений: 111
Зарегистрирован: Чт фев 19, 2015 17:26:19
Сообщений: 180
Откуда: СССР
Рейтинг сообщения: 0
У меня камень stm32f103c8 уже неделю не могу найти рабочий пример CustomHID, а скомпилированый с SMT32FCubeMX CustomHID говорит в win8.1 64 “Запуск этого устройства невозможен. (Код 10) Найдена лишняя конечная коллекция, или конечные коллекции не обнаружены.”
В какую сторону рыть подскажите, очень очень надо передавать и принимать информацию с этого камня


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Ср апр 08, 2015 00:51:52 
Опытный кот
Аватар пользователя

Карма: 9
Рейтинг сообщений: 61
Зарегистрирован: Пт ноя 16, 2007 11:21:37
Сообщений: 830
Рейтинг сообщения: 1
так попробуй http://habrahabr.ru/post/208026/


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Ср апр 08, 2015 01:39:34 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 12
Рейтинг сообщений: 111
Зарегистрирован: Чт фев 19, 2015 17:26:19
Сообщений: 180
Откуда: СССР
Рейтинг сообщения: 0
В SMT32FCubeMX очень много вкусностей, поддержка как минимум 2 компиляторов самого Кейла и IAR.
В приведенном примере только EmBlocks, ну или все самому собирать в других средах, я понимаю для профессионала этот пример проще.
Исходники в архиве. https://mega.co.nz/#!1UAXlTLQ!XbTa2KTuo ... 3WoVNKEc0E
Что не так, подскажите, очень очень надо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Ср апр 08, 2015 18:08:31 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пт фев 01, 2013 21:05:30
Сообщений: 343
Рейтинг сообщения: 1
Поменяй размер буфера на 256. Мне помогло с CDC
static uint8_t buff_RX[256];
static uint8_t buff_TX[256];


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Чт апр 09, 2015 03:22:51 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 12
Рейтинг сообщений: 111
Зарегистрирован: Чт фев 19, 2015 17:26:19
Сообщений: 180
Откуда: СССР
Рейтинг сообщения: 0
Все разобрался, es131245 все таки чутье программиста у тебя, спасибо за наводку. Проблема была в размере отсылаемой информации.
в USB HID есть дескриптор протокола он описывает какую информацию мы передаем и получаем.

в файле usbd_custom_hid_if.c указать

Код:
__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
{
   
    0x06, 0x00, 0xff,              // USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    // USAGE (Vendor Usage 1)
    0xa1, 0x01,                    // COLLECTION (Application)
    0x85, 0x01,                    //   REPORT_ID (1)
    0x09, 0x01,                    //   USAGE (Vendor Usage 1)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0xb1, 0x82,                    //   FEATURE (Data,Var,Abs,Vol)
    0x85, 0x01,                    //   REPORT_ID (1)
    0x09, 0x01,                    //   USAGE (Vendor Usage 1)
    0x91, 0x82,                    //   OUTPUT (Data,Var,Abs,Vol)

    0x85, 0x02,                    //   REPORT_ID (2)
    0x09, 0x02,                    //   USAGE (Vendor Usage 2)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0xb1, 0x82,                    //   FEATURE (Data,Var,Abs,Vol)
    0x85, 0x02,                    //   REPORT_ID (2)
    0x09, 0x02,                    //   USAGE (Vendor Usage 2)
    0x91, 0x82,                    //   OUTPUT (Data,Var,Abs,Vol)

    0x85, 0x03,                    //   REPORT_ID (3)
    0x09, 0x03,                    //   USAGE (Vendor Usage 3)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0xb1, 0x82,                    //   FEATURE (Data,Var,Abs,Vol)
    0x85, 0x03,                    //   REPORT_ID (3)
    0x09, 0x03,                    //   USAGE (Vendor Usage 3)
    0x91, 0x82,                    //   OUTPUT (Data,Var,Abs,Vol)

    0x85, 0x04,                    //   REPORT_ID (4)
    0x09, 0x04,                    //   USAGE (Vendor Usage 4)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x04,                    //   REPORT_COUNT (4)
    0x81, 0x82,                    //   INPUT (Data,Var,Abs,Vol)
    0xc0                           // END_COLLECTION
   
};


Далее нужно указать его длину
в файле usbd_conf.h

Код:
#define USBD_CUSTOM_HID_REPORT_DESC_SIZE     79


дескриптор сконфигурирован под демо программу USB HID Demonstrator от ST

---------- ЭТОГО МОМЕНТА НЕ ПРОВЕРЯЛ ----------

Далее нужно реагировать на эти события, в том же файле usbd_custom_hid_if.c
Код:
static int8_t CUSTOM_HID_OutEvent_FS  (uint8_t event_idx, uint8_t state)
{
  /* USER CODE BEGIN 6 */
  return (0);
  /* USER CODE END 6 */
}


гдето так

Код:
switch(event_idx)
{
case 1: /* LED1 */
(state == 1) ? HAL_GPIO_WritePin (GPIOD,GPIO_PIN_12 ,GPIO_PIN_SET ) : HAL_GPIO_WritePin (GPIOD,GPIO_PIN_12 ,GPIO_PIN_RESET );
break;

case 2: /* LED2 */
(state == 1) ? HAL_GPIO_WritePin (GPIOD,GPIO_PIN_13 ,GPIO_PIN_SET ) : HAL_GPIO_WritePin (GPIOD,GPIO_PIN_13 ,GPIO_PIN_RESET );
break;
case 3: /* LED3 */
(state == 1) ? HAL_GPIO_WritePin (GPIOD,GPIO_PIN_14 ,GPIO_PIN_SET ) : HAL_GPIO_WritePin (GPIOD,GPIO_PIN_14 ,GPIO_PIN_RESET ); 
break;

default:
    HAL_GPIO_WritePin (GPIOD,GPIO_PIN_12 ,GPIO_PIN_RESET );
    HAL_GPIO_WritePin (GPIOD,GPIO_PIN_13 ,GPIO_PIN_RESET );
    HAL_GPIO_WritePin (GPIOD,GPIO_PIN_14 ,GPIO_PIN_RESET );
break;
}
return (0);



Еше раз спасибо за поддержку es131245 и Pavel_1978, и всем котам много валерьянки :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Чт апр 09, 2015 23:13:34 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 12
Рейтинг сообщений: 111
Зарегистрирован: Чт фев 19, 2015 17:26:19
Сообщений: 180
Откуда: СССР
Рейтинг сообщения: 0
Я прав или нет? Передавать можно максимум 1 байт и его REPORT_ID.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Ср апр 15, 2015 16:26:33 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пт фев 01, 2013 21:05:30
Сообщений: 343
Рейтинг сообщения: 0
Слышал что 64 бита поэтому я на CDC :lol:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CustomHID, SMT32FCubeMX, Kонечные коллекции не обнаружен
СообщениеДобавлено: Чт апр 16, 2015 02:51:24 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 12
Рейтинг сообщений: 111
Зарегистрирован: Чт фев 19, 2015 17:26:19
Сообщений: 180
Откуда: СССР
Рейтинг сообщения: 0
Все верно, нагуглил :) , 64 байта и принимать и передавать можно.
Меня смущало что в CUSTOM_HID_OutEvent_FS (uint8_t event_idx, uint8_t state) переменная state один байт.
Код от CubeMX немного рассредоточен но вникнуть можно, немного подправил код и заработало, туда и обратно 64 байта - 1 idx .
Мне нравится HID своей гибкостью и если можно так сказать бездрайверностью :)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y