Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с HID device USB
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
andrei_moiseev
подскажите пожалуйста как объявить такие рабочие точки?
выделяю память под одну рабочую точку 81 с направлением естественно IN
UsbDevEP_Setup(uint8_t num, uint8_t type, uint16_t size, uint8_t banks, uint8_t dir)

(UsbDevEP_Setup(1, UsbEP_TypeControl, 64 , 1, UsbEP_DirIn))

программно меняю направление рабочей точки на IN \OUT
но когда IN девайс не видит токен OUT ,когда OUT нет прерывания на IN ..?
естественно драйвер постоянно виснет
девайс на AT90USB1287
может нужно выделять память под рабочие точки таким образом?

(UsbDevEP_Setup(1, UsbEP_TypeControl, 64 , 1, UsbEP_DirIn))
(UsbDevEP_Setup(1, UsbEP_TypeControl, 64 , 1, UsbEP_DirOut))

то есть фактически объявляю две рабочие точки с номером один и разными направлениями.
будет ли корректно работать?
kovigor
Цитата(andrei_moiseev @ Dec 6 2013, 12:07) *
программно меняю направление рабочей точки на IN \OUT

На ходу меняете ? Так ведь нельзя так делать. После энумерации подобные изменения недопустимы. Создавайте точки, все, которые вам нужны, до энумерации, и заявляйте о них в дескрипторах.
И на вашем месте я бы смотрел готовые примеры. Для MCS51, ARM7, ARM9 я мог бы вам с этим помочь, но не для AVR, к сожалению ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.