Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2468 и USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
toweroff
Требуется - передача данных по Bulk. Более высокий уровень не требуется, поэтому вся поддержка из примера для mass storage была выкинута.

Фактически осталось только: энумерация, сетап, прерывание

И тут натолкнулся на пока непонятную для меня ситуацию. Фактически, в прерывании проверяется конечная точка, для которой было вызвано прерывание. Далее из прерывания же вызывается USB_EndpointXX(DWORD Event), event - USB_EVT_IN/OUT.
Для реализации mass storage там, собственно, и не происходит ничего - данные формируются и гонятся в/из памяти в необходимом формате, поэтому время выполнения прерывания невелико. У меня же необходимо данные обработать, в некоторых случаях "дочитать" еще данные, отослать некий запрос хосту, обработать данные, иногда это может занять время.

Получается, что все это время я буду "болтаться" в обработчике прерывания? И не смогу опять получить данные, т.к. я уже обрабатываю то, что получил до этого?
А еще висит RL-RTOS, которой тоже надо как-то выполняться

Или разбить все свои обработки на кучу stages, и потом в прерывании обрабатывать? Но тогда switch вырастет просто жутко (у меня команд управления только порядка полутора десятков и в половине еще куча обменов)

Или я вообще все не так понял...

Проект USBMem - тут
meister
Цитата(toweroff @ Feb 27 2009, 16:27) *
Получается, что все это время я буду "болтаться" в обработчике прерывания?
А еще висит RL-RTOS, которой тоже надо как-то выполняться


Если есть "RL-RTOS" - в прерывании надо только ставить флажок, что "данные есть и можно их обрабатывать" или забрать данные и поставить их в специальную очередь, если данных не много. Обработку будет отдельный процесс, вне прерывания.
toweroff
Цитата(meister @ Feb 27 2009, 18:03) *
Если есть "RL-RTOS" - в прерывании надо только ставить флажок, что "данные есть и можно их обрабатывать" или забрать данные и поставить их в специальную очередь, если данных не много. Обработку будет отдельный процесс, вне прерывания.


видно меня уже совсем переклинило, все ж просто smile.gif

спасибо, бум попробовать
toweroff
И еще возник вопрос.
Для FullSpeed - 12 Мбит/с предел? То есть выше на LPC2468 не подняться в принципе?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.