реклама на сайте
подробности

 
 
> At32UC3A ASF USBComposite нужна помощь
khorght
сообщение Jan 28 2014, 16:22
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 8-12-12
Пользователь №: 74 763



Здравствуйте,уважаемые. пытаюсь написать проект композитного ЮСБ устройста HIDGeneric + Vendor , отдельно как сингл интерфейс устройства стартуют(тоесть настройка кварца,инициализация и т.д. проходят корректно поэтому эту часть не выкладываю как заведомо рабочую), при попытке впихнуть их оба в композит девайс устройство не опознается системой, видится как VID 0000 PID 0002 и останавливается системой как выдавшее ошибку, естесственно я задаю совершенно другие VIP & PID.
Решил начать с композита хотя бы с одним интерфейсом,та же ситуация VID 0000 PID 0002
мой usb_conf.h: (VID PID заменил на XXXX, MANUFACTURE,DEVICE,SERIAL...тоже, извините)
CODE
//! Device definition (mandatory)
#define USB_DEVICE_VENDOR_ID 0xXXXX
#define USB_DEVICE_PRODUCT_ID 0xXXXX
#define USB_DEVICE_MAJOR_VERSION 1
#define USB_DEVICE_MINOR_VERSION 1
#define USB_DEVICE_POWER 100 // Consumption on Vbus line (mA)
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_BUS_POWERED)
// (USB_CONFIG_ATTR_SELF_POWERED)
// (USB_CONFIG_ATTR_BUS_POWERED)
// (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_SELF_POWERED)
// (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_BUS_POWERED)

//! USB Device string definitions (Optional)
#define USB_DEVICE_MANUFACTURE_NAME "manufacturer"
#define USB_DEVICE_PRODUCT_NAME "prod"
#define USB_DEVICE_SERIAL_NAME " ... "

//! To define a Low speed device
//#define USB_DEVICE_LOW_SPEED

//! To authorize the High speed
#if (UC3A3||UC3A4)
#define USB_DEVICE_HS_SUPPORT
#endif

#define UDC_VBUS_EVENT(b_vbus_high) main_vbus_action(b_vbus_high) //user_callback_vbus_action(b_vbus_high)
#define UDC_SOF_EVENT() main_sof_action() //user_callback_sof_action()
#define UDC_SUSPEND_EVENT() main_suspend_action() //user_callback_suspend_action()
#define UDC_RESUME_EVENT() main_resume_action() //user_callback_resume_action()
//! Mandatory when USB_DEVICE_ATTR authorizes remote wakeup feature
#define UDC_REMOTEWAKEUP_ENABLE() main_remotewakeup_enable() //user_callback_remotewakeup_enable()
#define UDC_REMOTEWAKEUP_DISABLE() main_remotewakeup_disable() //user_callback_remotewakeup_disable()
//! When a extra string descriptor must be supported
//! other than manufacturer, product and serial string
//#define UDC_GET_EXTRA_STRING() main_extra_string()

//! Control endpoint size
#define USB_DEVICE_EP_CTRL_SIZE 64

//! Number of interfaces for this device
#define USB_DEVICE_NB_INTERFACE 1 // 1 or more

#define USB_DEVICE_MAX_EP 2 // 0 to max endpoint requested by interfaces
/
//! Interface callback definition
#define UDI_HID_GENERIC_ENABLE_EXT() main_generic_enable()
#define UDI_HID_GENERIC_DISABLE_EXT() main_generic_disable()
#define UDI_HID_GENERIC_REPORT_OUT(ptr) main_hid_report(ptr)
#define UDI_HID_GENERIC_SET_FEATURE(report) main_hid_set_feature(report)

#define UDI_HID_REPORT_IN_SIZE 64
#define UDI_HID_REPORT_OUT_SIZE 64
#define UDI_HID_REPORT_FEATURE_SIZE 4
#define UDI_HID_GENERIC_EP_SIZE 64

//! Endpoint numbers definition
#define UDI_HID_GENERIC_EP_OUT (1 | USB_EP_DIR_OUT)
#define UDI_HID_GENERIC_EP_IN (2 | USB_EP_DIR_IN)

//#define UDI_HID_GENERIC_STRING_ID 4 // JTAGICE3 CMSIS-DAP

#define UDI_HID_GENERIC_EP_NB 2

//! Interface number
#define UDI_HID_GENERIC_IFACE_NUMBER 0

//! USB Interfaces descriptor structure
#define UDI_COMPOSITE_DESC_T \
udi_hid_generic_desc_t udi_hid_generic

//! USB Interfaces descriptor value for Full Speed
#define UDI_COMPOSITE_DESC_FS \
.udi_hid_generic = UDI_HID_GENERIC_DESC

//! USB Interfaces descriptor value for High Speed
#define UDI_COMPOSITE_DESC_HS \
.udi_hid_generic = UDI_HID_GENERIC_DESC


//! USB Interface APIs
#define UDI_COMPOSITE_API \
&udi_api_hid_generic


подскажите куда копать.Спасибо

Сообщение отредактировал IgorKossak - Jan 28 2014, 18:35
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Jan 30 2014, 12:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(khorght @ Jan 28 2014, 20:22) *
Решил начать с композита хотя бы с одним интерфейсом

Да, но ведь в вашем случае интерфейсов должно быть два, а никак не один.
Я бы скачал BusHound не ниже шестого и посмотрел бы, на чем останавливается энумерация ...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 14:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.02954 секунд с 7
ELECTRONIX ©2004-2016